Возможно ли запустить конвейер gitlab-ci, как только запрос на слияние будет принят на master

#gitlab #gitlab-ci #gitlab-ce

#gitlab #gitlab-ci #gitlab-ce

Вопрос:

В рамках требований моего проекта я должен запустить конвейер для создания тега git, как только запрос на слияние будет объединен с master. Но, к сожалению, я не смог найти ни одной опции в GitLab-ci. Проблема с приведенным ниже кодом заключается в том, что конвейер запускается, даже если кто-то создает запросы на слияние. Любые указатели были бы действительно полезны.

 post-merge:
  only:
    refs:
      - master

  script:
    - echo "Creating a git tag"
    - 'curl -X POST -k -H  "PRIVATE-TOKEN: XXXXXXX" "https://gitlab.com/api/v4/projects/1/repository/tags?tag_name=$MODULE-$VERSIONamp;ref=master"'
  

Комментарии:

1. Простое создание запроса на слияние не приведет к запуску конвейера в целевой ветви, пока запрос на слияние не будет принят. Возможно, то, что вы видели, было конвейером в исходной ветке, который был запущен из-за фиксации, а не из-за создания запроса на слияние?

Ответ №1:

Вы можете запускать этапы только в ветке master, как вы это делали :

 post-merge:
  only:
    refs:
      - master
  

И они будут запускаться только после того, как что-то было объединено в вашу главную ветку, учитывая, что у вас защищена эта ветка, и никто не может нажать без запроса на слияние.