如何使用部署密钥自动在多个服务器上克隆同一存储库?

时间:2020-05-13 16:47:28

标签: github ssh ssh-keys deploy-keys

我已经从服务器实例(例如存储库R1的主机A)创建了一个部署密钥。现在,我将扩展到3台服务器,即主机B和主机C,并希望从它们访问R1。

当涉及多个服务器实例时,如何使用部署密钥?我是否必须将部署密钥复制到其他服务器,还是必须在主机B和主机C上生成新的并将其添加到GitHub存储库设置中?

其中哪些是支持自动可伸缩性的理想方法?

1 个答案:

答案 0 :(得分:0)

如果您有一个中央服务,其职责是部署代码,那么最好的方法是为该服务使用一个部署密钥,并使用该服务控制您的部署。但是,听起来好像不是这里发生的事情。

如果没有,您通常要对要部署到的每个环境而不是每个服务器使用一个部署密钥。例如,如果您有需要部署到生产应用程序服务器和开发人员外壳服务器的代码,则对每个环境使用单独的部署密钥,并将每个环境的密钥复制到该环境中的所有服务器。这样,以后如果某个环境不再需要它,就可以限制对存储库的访问,而不会影响其他环境。

为每个环境使用单独的密钥意味着,如果您有需要与多个部署密钥(用于多个存储库)一起使用的部署脚本,则它们将在该部署中的每个服务器上以相同的方式起作用。

您应确保部署密钥的标签正确,以便将来您(或您的继任者)一目了然地确定每个密钥的用途。