我一直在寻找无处不在,因为找到了使用https协议通过python克隆AWS CodeCommit git存储库的更准确方法。
实际上,对于那些不知道AWS的人,建议使用codecommit凭证帮助器生成用户和密码,例如:
git config --global credential.helper '!aws codecommit credential-helper $@'
git config --global credential.UseHttpPath true
因此git每次需要凭据时都会调用codecommit助手,而不会提示。
因此,我看了一下GitPython库代码,但是在任何地方都没有找到如何向git提供凭据的方法。
就我而言,我正在使用AWS Lambda编写一个python函数,该函数将克隆我的CodeCommit Git存储库以及其他内容。
我想避免在我的lambda函数中启动诸如codebuild之类的容器来执行git命令,或者避免在subprocess
中启动shell
有人可以给我建议更好地解决问题的方法吗?
答案 0 :(得分:1)
根据这个问题
aws codecommit凭证帮助器仅可用于AWS CLI,因此无法通过API在lambda函数中调用。
因此,我要做的是为给定的IAM用户生成固定的git HTTPS凭据,并在我的lambda函数中使用它。
这些凭据可以加密存储在S3上,并在函数执行期间或在Lambda环境变量中进行检索。
答案 1 :(得分:-1)
我能够使用安装了AWS CLI的Lambda层来处理IAM角色和Lambda https://github.com/aws-samples/aws-lambda-layer-awscli
我这里有SAM模板的完整解决方案 https://github.com/msimpsonnz/gitbackup