在启动时是否有最佳实践或标准方法克隆git存储库(目前使用CloudCommit使权限更容易)到EC2实例中?
我正在使用带有以下内容的cloud-init脚本的userdata部分:
runcmd:
- git clone https://git-codecommit.us-west-2.amazonaws.com/v1/repos/myrepo
但我的cloud-init-output.log文件显示git命令无法连接到服务器。当我尝试在cloud-init脚本之外执行此操作时,我得到:
The config profile (default) could not be found
作为错误消息。所以我假设运行userdata init脚本的用户没有设置aws cli配置文件,因此无法运行git clone?这样做的正确方法是什么?我的EC2实例确实有一个允许它从CodeCommit读取的角色,因此我不需要SSH密钥。
答案 0 :(得分:1)
为了添加一个可能有用的注释,AWS文档建议使用以下git配置:
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true
我发现使用--system for git-config命令比使用--global好得多,后者需要设置$ HOME(不是BTW)。这将在系统范围内设置配置,但是..因此任何用户都可以使用EC2实例假定角色的权限从CodeCommit repo运行pull。它可能不是你的优点或需要,但它在我的环境中运行良好(使用codecommit来提取配置信息)。