在 EC2 上设置 Git 以从 GitHub 存储库中提取
·
问题:在 EC2 上设置 Git 以从 GitHub 存储库中提取
我对 EC2 和 Git 都是新手,我刚刚使用干净的 Amazon Linux AMI 设置了我的第一个 EC2 实例。我还安装了 MySQL、Apache 和 PHP,并打开了一些端口,使其像普通的 Web 服务器一样工作,也响应弹性 IP。
现在,我的代码在 GitHub 上的私人仓库中,我想通过执行git pull或类似的操作来执行简单的部署。 Git 也已经安装在服务器上。我知道我可以使用我的个人 ssh 密钥在服务器上设置我的 git repo,但这似乎很奇怪。我想另一种解决方案是创建一个新的 GitHub 用户并在服务器上使用它,但它似乎也不正确。
如何以优雅、安全的方式实现这一目标?
解答
为了避免必须在您的 EC2 实例上保留 SSH 私钥,人们经常使用涉及推送到该远程服务器以进行部署的工作流。本质上,您在那里设置了一个裸 git 存储库,其中带有一个部署到另一个目录的pre-receive挂钩。在本教程中有一个简单的示例。然后你只需要在服务器上的~/.ssh/authorized_keys中有你的 SSH_public_ 密钥。但是,使用此工作流程,您无法直接从 GitHub 存储库进行部署 - 您需要将其拉到本地,然后推送到 EC2 机器。
另一种方法是使用 GitHub 的部署密钥机制。这将涉及在您的 EC2 实例上创建一个新的 SSH 密钥对,并将公钥作为部署密钥添加到您在 GitHub 上的私有存储库中。然后,您可以直接从您的私有 GitHub 存储库拉取到您的 EC2 实例。
更多推荐


所有评论(0)