Gitlab ci запускает работу на мастере только с меткой релиза - PullRequest
0 голосов
/ 17 марта 2020

Я хотел бы построить docker образ в основной ветке, только если установлен тег release. Это мой .gitlab.ci:

build:
  rules:
    - if: '$CI_COMMIT_TAG != null && $CI_COMMIT_REF_NAME == "master"'
  script:
    - echo "Building $IMAGE:${CI_COMMIT_TAG}"

Это не работает, я слился с мастером и выпустил тег, но задание на сборку даже не запустилось.

Я тоже пробовал с only section:

build:
  only:
    - master
    - tags
  script:
    - echo "Building $IMAGE:${CI_COMMIT_TAG}"

Этот запуск выполняется каждый раз, даже если CI_COMMIT_TAG не существует. Есть ли способ, как заставить работать только если CI_COMMIT_TAG существует на master ветви?

1 Ответ

0 голосов
/ 20 марта 2020

С помощью

build:
  only:
    - tags

вы можете запускать задание только тогда, когда тег установлен (или нажат). Если у вас есть master, он запускается при каждом коммите на мастере. Без master он запускается только после установки тега.

...