2017-06-28 273 views
1

在启动时是否有一种将git存储库(当前使用CloudCommit来简化权限)克隆到EC2实例的最佳实践或标准化方法?在启动AWS EC2实例时使用cloud-init克隆git repo

我使用的用户数据部分使用具有云的init脚本:

runcmd: 
- git clone https://git-codecommit.us-west-2.amazonaws.com/v1/repos/myrepo 

但我的云的init-output.log文件显示git的命令无法连接到服务器。当我尝试在cloud-init脚本之外执行此操作时,得到:

The config profile (default) could not be found 

作为错误消息。所以我假设运行userdata init脚本的用户没有设置aws cli config配置文件,因此无法运行git克隆?什么是正确的方法来做到这一点?我的EC2实例具有允许从CodeCommit读取的角色,因此我不需要SSH密钥。

回答

1

我想补充一个也许有帮助说明,AWS文件提出以下建议git的配置:

git config --global credential.helper '!aws codecommit credential-helper [email protected]' git config --global credential.UseHttpPath true

我发现,使用--system的混帐配置命令的工作比使用要好得多 - 全局,这需要设置$ HOME(它不是,顺便说一句)。这将设置整个系统的配置,但是..所以任何用户都可以使用EC2实例承担角色的权限从CodeCommit repo运行拉。它可能不是你所需要的,但在我的情况下它运行良好(使用codecommit来提取配置信息)。