Я хочу клонировать исходный репозиторий в / tmp / space функции облака. Я исследовал модуль подпроцесса. Но безуспешно. Я также изучил gitpython. Но как клонировать репо в git python. Смотрите ниже код. Но этоне работает в облачной функции. Но когда я запускаю этот код локально, он работает нормально. В облачной функции он выдает ошибку вроде: fatal: не может прочитать имя пользователя для 'https://source.developers.google.com'
def clone_gitpython():
import git
#path = 'C:\\Users\\anuragja\AppData\\Local\\Temp\\tmp\\'
path='/tmp/'
try:
git.Git(path).clone("https://source.developers.google.com/p/dev-sandbox-2XXXX/r/poc_git")
for x in os.listdir("/tmp"):
print(" cloned files name")
print(x)
except Exception as e:
print(str(e))
Обновить сейчас яОбновлен код, добавив ключ ssh в репозиторий исходного кода и запустив команду git ssh для клонирования, но по-прежнему не удается клонировать. Ошибка получения «ssh: подключиться к порту host.developers.google.com хоста 2022: истекло время ожидания соединения»
def hello_world(event=None, context=None):
dir_path = os.path.dirname(os.path.realpath(__file__))
print(dir_path)
print("cloning into tmp")
url = "ssh://jainXXX1XXX@gmail.com@source.developers.google.com:2022/p/dev-sandbox-XXXX/r/test_repo"
path_temp = '/tmp'
try:
git.Repo.clone_from(url, path_temp , env={"GIT_SSH_COMMAND": 'ssh -i' + dir_path + '/id_rsa.pub '})
print("cloning completed 200")
for x in os.listdir("/tmp"):
print("List of files")
print(x)
except Exception as e:
print(str(e))