是否可以动态创建 AWS Linux 实例,以便它可以从私有 gihub 存储库中提取源代码?我的主要障碍是 github 需要私钥,我假设应该在我的 Linux 实例上生成私钥,然后手动将其插入到网站上的 github 配置文件中。这可以自动化吗?
答案1
您可以使用 EBS 实例自动执行此操作并创建 AMI 来启动新实例。
您可以设置一个在启动时运行的脚本 - 检查代码是否已被提取,如果没有:进行设置。(例如:/etc/rc.local
并让其运行自定义 bash 脚本)
您必须在那时手动加载您的密钥(并且随后您的 github 密钥会发生变化)。
然后,每次启动 AMI 的新实例时,它都会在启动时执行此检查/获取操作。
如果您的基础设施需要一种更复杂的方法,您可以利用puppet
或chef
在“命令服务器”上从单个主机而不是捆绑的 AMI 更智能地管理此部署。
答案2
我建议创建一个具有木偶安装。然后,您可以以此为基础,从一个 AMI 映像中配置任意数量的映像和任意数量的配置文件。
集中配置 == 自动部署和简化生活。在这种特殊情况下,您生成的私钥将成为分发给相关实例的文件的一部分。