Я хочу попробовать клонировать мой репозиторий git, который находится в частном github.Я вижу, что после добавления веб-хуков и настройки формирования облаков, как описано здесь .
Это отправка запроса на мою лямбду.Я могу клонировать репозиторий одним из следующих способов, но не могу создать zip-репозиторий и загрузить его в s3, как в Lambda. Я не могу найти, где он хранит репозиторий, чтобы сделать его zip-архивом и загрузить его по этому пути.
import boto3
from botocore.vendored import requests
import logging
import base64
import os
import shutil
from zipfile import ZipFile
from cStringIO import StringIO
# Set to False to allow self-signed/invalid ssl certificates
verify = False
logger = logging.getLogger()
logger.setLevel(logging.INFO)
s3_client = boto3.client('s3')
def lambda_handler(event, context):
path = "/gitpull"
clone = "git clone https://username:pwd@site.com/scm/awsdemos/testrepo.git"
# os.system("sshpass -p your_password ssh user_name@your_localhost")
os.chdir(path)
os.system(clone) # Cloning
# folder = "/gitpull"
# logger.info(os.listdir(folder))
# shutil.make_archive('Gitpull', 'zip', '/tmp')
s3_archive_file = "Gitpull.zip"
# Create zip from /tmp dir without any common preffixes
shutil.make_archive('Gitpull', 'zip', os.getcwd())
logger.info("Uploading zip to S3://%s/%s" % ('gitpulls3', s3_archive_file))
s3_client.upload_file(os.getcwd(), 'gitpulls3', s3_archive_file)
logger.info('Upload Complete')
Есть ли какой-нибудь хороший способ, которым я могу это сделать?