У меня есть частный хост gitlab, и я хочу добавить несколько бегунов на gcp. Итак, у меня есть:
- создать учетную запись службы (с правами редактора в проекте)
- создайте вычислительный экземпляр (с именем
gitlab-runner
) с Ubuntu 16.04 и связанной учетной записью службы. - установить на него
gitlab-runner
/kubectl
/docker-ce
- зарегистрировать бегун типа
shell
- зарегистрировать бегун типа
docker
У оболочки бегуна нет проблем.
Докер-бегун? ну... работает с чем-то вроде этого
exemple:
stage: build
image: google/cloud-sdk:latest
tags:
- runner-docker
script:
- # do something here
Моя проблема заключается в том, что я хочу использовать изображение, которое я ранее создал следующим образом:
exemple2:
stage: build
image: eu.gcr.io/project/image_name:$CI_COMMIT_SHA
tags:
- runner-docker
script:
- # do something here
Когда я это делаю, gitlab-runner не может вытащить изображение.
Итак, я пробовал что-то вроде этого: Доступ к реестру контейнеров Google без клиент gcloud
Затем, когда я подключаюсь к gitlab-runner
(через ssh), у меня нет проблем с получением.
Но бегун не может.
Любая идея, что происходит не так?
Я сделал временный gitlab-ci.yml следующим образом:
stage:
- build
- test
variables:
CI_DEBUG_TRACE: "true"
test_gcloud_shell:
stage: build
tags:
- shell
before_script:
- echo "disable before script"
script:
- docker run --rm eu.gcr.io/project/image_name:latest
test_gcloud_docker:
stage: test
image: eu.gcr.io/project/image_name:latest
tags:
- docker
before_script:
- echo "disable before script"
script:
- echo "hello"
Задача test_gcloud_shell
работает без проблем, но не test_gcloud_docker
. Любой идентификатор?