我已经从服务器实例创建了一个部署密钥,比如存储库 R1 的主机 A。现在我扩展到 3 台服务器,即主机 B 和主机 C,并希望从它们访问 R1。
当涉及到多个服务器实例时,如何使用部署密钥?我是否必须将部署密钥复制到其他服务器,还是必须在主机 B 和主机 C 上生成新密钥并将它们添加到 GitHub 存储库设置?
其中哪一个是支持自动可扩展性的理想方式?
我已经从服务器实例创建了一个部署密钥,比如存储库 R1 的主机 A。现在我扩展到 3 台服务器,即主机 B 和主机 C,并希望从它们访问 R1。
当涉及到多个服务器实例时,如何使用部署密钥?我是否必须将部署密钥复制到其他服务器,还是必须在主机 B 和主机 C 上生成新密钥并将它们添加到 GitHub 存储库设置?
其中哪一个是支持自动可扩展性的理想方式?
如果您有一个中央服务,其工作是部署代码,那么最好的方法是为该服务使用一个部署密钥并使用该服务控制您的部署。但是,这听起来不像是这里发生的事情。
如果没有这一点,您通常希望为要部署到的每个环境使用一个部署密钥,而不是每台服务器。例如,如果您有代码需要部署到生产应用程序服务器以及开发人员 shell 服务器,则为每个环境使用单独的部署密钥,并将每个环境的密钥复制到该环境中的所有服务器。这样,如果某个环境不再需要它,您可以稍后限制对存储库的访问,而不会影响其他环境。
为每个环境使用单独的密钥意味着如果您的部署脚本需要使用多个部署密钥(用于多个存储库),它们将在该部署中的每台服务器上以相同的方式运行。
您应该确保您的部署密钥标记良好,以便将来您(或您的继任者)可以一目了然地了解每个密钥的用途。