如何告知所有AWS EC2实例从git/codecommit中提取?

Har*_*ker 8 git amazon-ec2 amazon-web-services aws-codecommit

我正在使用AWS CodeCommit,它看起来像是git的精简版.

如果所有这些EC2实例具有相同的角色标记,我该如何实现?

我不想做任何花哨的事情,我想要的只是指定一个标签,单击一个按钮,所有那些带有该标签的EC2实例都为CodeCommit提取.我想从我的本地机器上做到这一点.

我知道我需要使用SSH密钥访问每个EC2服务器中的CodeCommit,并在每个服务器上安装git(我将把它烘焙到AMI中).我只是不确定如何"触发"每台EC2机器进行git pull?是否有AWS命令?

我不是一个开发人员,只知道基本的linux和php.

Cla*_*ori 12

对于使用IAM角色启动的EC2实例,您甚至不必使用SSH密钥进行烘焙.Git可以从EC2实例元数据中获取CodeCommit凭据.使用最新的AWS CLI软件包和〜/ .gitconfig中的以下行烘焙基于Linux的AMI:

[credential]
    helper = !aws --profile default codecommit credential-helper $@
    UseHttpPath = true
Run Code Online (Sandbox Code Playgroud)

启动附加了IAM角色的实例,然后您可以克隆CodeCommit仓库而无需进行任何设置.

如果要基于标记在一组EC2实例上运行git命令,您可能需要查看CapistranoCapify-EC2.

更新:如果您愿意使用AWS OpsWorks从CodeCommit部署,那么最近一篇关于如何执行此操作的博客文章.您还可以使用OpsWorks 通过Capistrano跨实例运行任意命令.

  • @RobbieAverill你可以完全省略`--profile default`位(正如你所说的,如果你没有默认的配置文件,将它设置为默认值不起作用) (2认同)