Google Cloud Build: сбой клонирования частного репозитория в Google Cloud Repository

Мы тестируем Google Cloud Repositories с помощью Google Cloud Build.

Мы создали базовый cloudbuild.yaml и сама сборка запущена (мы используем Go).

Наша программа Go имеет несколько импортов, которые находятся в одном и том же репозитории (который размещен в Google Cloud Repositories), например:

  • ЦСИ / хранилище
    • main.go (имеет импорт source.developers.com/repository/subpackage)
    • подпакет /

в самом пакете у нас есть путь импорта через source.developers.google.com. Когда Go пытается клонировать репозиторий (при запуске go get происходит сбой из-за отсутствия учетных данных:

Шаг № 0: клонирование в "/workspace/gopath/src/source.developers.google.com/ourrepository"...
Шаг № 0: fatal: не удалось прочитать имя пользователя для
" https://source.developers.google.com/": терминальные запросы отключены
Шаг № 0: пакет source.developers.google.com/subpackage: статус выхода 128 [...]

ОШИБКА: сбой шага сборки 0 "gcr.io/cloud-builders/go": выход из состояния 1

Учетная запись облачной сборки уже имеет доступ к хранилищу и может клонировать его.

Как мы можем клонировать репозиторий с помощью Google Build?

2 ответа

Я думаю, вам нужно создать контейнер докеров, в котором есть git (контейнер ubuntu), и в этом контейнере вы клонируете свой репозиторий с помощью ключей ssh ​​после того, как вы связали свой контейнер с репозиторием кода. Затем вы помещаете этот контейнер в gcr в своем проекте. Затем в своем cloudbuild.yaml вы используете тот самый контейнер, который вы нажали, чтобы клонировать репо через ssh url.

Просто перейдите в репозиторий облачных источников и выберите "клонировать" вверху справа, затем выберите метод аутентификации, самый простой - "Google Cloud SDK", скопируйте команду и запустите ее в командной строке yout.

Другие вопросы по тегам