Клонировать репозиторий AWS CodeCommit git с помощью GitPython с учетными данными https

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

Фактически, для тех, кто не знает 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.

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

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


person nixmind    schedule 11.01.2019    source источник
comment
@ nixmind - какое решение вы нашли для этого? Мне нужно программно клонировать репозиторий из aws codecommit через Gitpython.   -  person Gaurav Pant    schedule 13.03.2019


Ответы (2)


Согласно этому вопросу,

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

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

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

person nixmind    schedule 14.01.2019

Мне удалось использовать IAM Role и Lambda с помощью Lambda Layer с установленным интерфейсом командной строки AWS https://github.com/aws-samples/aws-lambda-layer-awscli

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

person Matt    schedule 30.07.2019