使用具有https凭证的GitPython克隆AWS CodeCommit git存储库

时间:2019-01-11 14:52:01

标签: python git gitpython aws-codecommit

我一直在寻找无处不在,因为找到了使用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

有人可以给我建议更好地解决问题的方法吗?

2 个答案:

答案 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