Конфигурация Gitlab-ci.yml - PullRequest
       31

Конфигурация Gitlab-ci.yml

1 голос
/ 07 марта 2020

Я хочу запускать задание только при наличии запроса на слияние для указанной c ветви. Я настраиваю файл .gitlab-ci.yml следующим образом:

stages:
  - test
  - deploy

test:
  stage: test
  only: 
  - develop
  - merge_requests

deploy:
  stage: deploy
  only: 
  - master
  - merge_requests

Это даже запускает развертывание задания, когда запрос на слияние предназначен для ветви разработки. Как настроить файл gitlab-ci.yml таким образом, чтобы при наличии запроса на слияние для разработки выполнялось тестовое задание, а при наличии запроса на слияние для основного задания запускалось развертывание.

Ответы [ 2 ]

1 голос
/ 07 марта 2020

Вы можете использовать rules для этого случая, заставив gitlab-ci выполнить задание, когда есть запрос на слияние, нацеленный на конкретную c ветку, как показано ниже

stages:
  - test
  - deploy

test:
  stage: test
  rules:
    - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop"'
      when: always

deploy:
  stage: deploy
  rules:
    - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master"'
      when: always

Для получения дополнительной информации см. Документы

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

попробуйте изменить merge_request на merge_requests. В документах предлагается использовать merge_requests, поэтому я чувствую, что опечатка является причиной этой проблемы для вас.

Гитлаб С.И. Документы

...