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.