Я пытаюсь пометить автоматически созданные образы Docker в моем личном реестре в GitLab-CI, но задание 'release' завершается неудачно с:
Error response from daemon: No such image: dev.skibapro.de:5050/dransfeld/dockerci-test:v0.4
Это мой .gitlab-ci.yml
, задания по сборке и тестированию выполняются без ошибок и docerci-test: v0.4 присутствует в моем реестре после запуска конвейера.
image: docker:stable
variables:
DOCKER_DRIVER: overlay2
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
services:
- docker:dind
stages:
- build
- test
- release
before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
build:
only:
- tags
stage: build
script:
- docker build -t $IMAGE_TAG -f docker/Dockerfile .
- docker push $IMAGE_TAG
test:
only:
- tags
stage: test
script:
- docker run $IMAGE_TAG /usr/local/bin/test.sh
release:
only:
- tags
stage: release
script:
- docker tag $IMAGE_TAG "$CI_REGISTRY_IMAGE:latest"
Это ошибка, которую я получаю в журнале заданий:
$ docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded
$ docker tag $IMAGE_TAG "$CI_REGISTRY_IMAGE:latest"
Error response from daemon: No such image: dev.skibapro.de:5050/dransfeld/dockerci-test:v0.4
ERROR: Job failed: exit code 1
Я не знаю, это изображение просто еще не присутствует, когда запускается этап 'release', или если я прошу docker сделать что-то, что он не может ... Я хочу, чтобы последний тег был только применяется после успешного завершения этапа испытаний.