Клонировать git-репозиторий AWS CodeCommit с помощью GitPython с учетными данными https - PullRequest
0 голосов
/ 11 января 2019

Я искал повсюду, поскольку для более точного способа клонировать git-репозиторий AWS CodeCommit через python с использованием протокола https.

На самом деле для тех, кто не знает, предлагают использовать помощник по учетным данным 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 среди других вещей.

Я бы хотел избежать запуска контейнера, такого как codebuild, например, в моей лямбда-функции для выполнения команд git, или запуска оболочки в subprocess

Можно ли здесь дать мне авизу для лучшего подхода к проблемному?

Ответы [ 2 ]

0 голосов
/ 30 июля 2019

Я смог сделать с IAM Role и Lambda, используя Lambda Layer с установленным AWS CLI https://github.com/aws-samples/aws-lambda-layer-awscli

У меня есть полное решение здесь с шаблоном SAM https://github.com/msimpsonnz/gitbackup

0 голосов
/ 14 января 2019

По этому вопросу

Помощник по учетным данным aws codecommit доступен только для использования с CLI AWS и поэтому не может быть вызван в лямбда-функции через API.

Поэтому я должен сгенерировать фиксированные учетные данные HTTPS для git для данного пользователя IAM и использовать их в своей лямбда-функции.

Эти учетные данные могут храниться в S3 в зашифрованном виде и извлекаться во время выполнения функции, или в Lambda Environment Variables.

...