Я пытаюсь войти в CGR и использовать некоторые личные образы докеров в Gitlab-ci runner.
Я создал новый проект в Google Cloud и активировал API-интерфейс реестра Google Cloud.Я также создал новую учетную запись службы (IAM), в которой дал разрешение на владение предыдущему экземпляру Cloud Registry.Затем я достал ключ JSON.Я протестировал ключ со следующей конфигурацией gitlab-ci и на локальной машине:
image: docker:latest
services:
- docker:dind
auth:
stage: auth
script:
- docker login -u _json_key --password-stdin https://gcr.io < ./keyfile.json
Кажется, что он аутентифицирован и авторизован для загрузки / извлечения образов.
Что мне нужно сделатьчтобы получить следующее, мне нужно зайти в свой личный репозиторий и использовать эти изображения в gitlab-ci runner.Примерно так:
before_script:
- docker login -u _json_key --password-stdin https://gcr.io < ./keyfile.json
build:
stage: build
image: gcr.io/image-repo/image
script:
- gradle clean build
deploy:
stage: deploy
image: gcr.io/image-repo/image
script:
- gradle publish
only:
- master
Тем не менее, я продолжаю получать эту ошибку:
Запуск с gitlab-runner 11.10.1 (1f513601) в docker-auto-scale 0277ea0f ИспользованиеИсполнитель Docker с изображением gcr.io/image-repo/image ... Извлечение образа Docker gcr.io/image-repo/image ... ОШИБКА: Подготовка не удалась: Ошибка ответа от демона: неавторизовано: у вас нет необходимыхразрешения для выполнения этой операции, и у вас могут быть неверные учетные данные.Чтобы подтвердить подлинность вашего запроса, выполните следующие действия: https://cloud.google.com/container-registry/docs/advanced-authentication (executor_docker.go: 168: 0s). Повторите попытку через 3 с ...