Клонирование частного репозитория GitHub в Google Cloud Build yaml - PullRequest
0 голосов
/ 18 июня 2020

Согласно примечанию в документации Cloud Build под названием Доступ к частным репозиториям GitHub :

Когда вы запускаете сборки с помощью триггеров Cloud Build, вы можете автоматически подключиться к любому частному репозиторию, которым вы владеете, без сохранения ваших учетных данных в диспетчере секретов. в файлы s sh, которые в do c не нужны с помощью триггера сборки) безрезультатно. Использование s sh ниже в моем cloudbuild.yaml файле:

steps:
- name: google/cloud-sdk:alpine
  id: Clone repo
  entrypoint: git
  args: ['clone', 'git@github.com:my-org/my-repo.git']

приводит к ошибке:

Step #0: Host key verification failed.
Step #0: fatal: Could not read from remote repository.

И используя https

  args: ['clone', 'https://github.com/my-org/my-repo.git']

, я получаю:

Step #0 - "Clone repo": fatal: could not read Username for 'https://github.com': No such device or address

Есть ли способ клонировать частный репозиторий GitHub в cloudbuild.yaml без утомительной передачи ключей sh из диспетчера секретов на тома перед клонированием? Будем очень признательны за любые подсказки.

1 Ответ

0 голосов
/ 19 июня 2020

Возможно, я не совсем понял свой комментарий.

Когда вы создаете триггер в Cloud Build, и он запускается push, Cloud Build автоматически извлекает код репозитория, а вы этого не делаете нужно вытащить его вручную, как вы делаете это на своем этапе (я имел в виду это мой комментарий), тогда нет необходимости получать или настраивать ключи S SH для вашей сборки.

Например, у меня есть репо, которое создает образ Docker и загружает его в реестр контейнеров со следующим файлом:

cloudbuild.yaml

steps:
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '-t', 'gcr.io/$PROJECT_ID/my_nginx', '.']

images:
- 'gcr.io/$PROJECT_ID/my_nginx'

In В заключение, при использовании триггеров Cloud Build вы сосредотачиваетесь только на шагах по созданию вашего кода.

...