Задание Gitlab CI для запросов на слияние между разработчиком и веткой компонентов - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть Gitlab v11.9.6, и я хочу создать конвейер, который:

  1. Запускает этап сборки для каждого запроса на слияние (only: merge_requests)
  2. Если запрос на объединение находится между dev и ветвью функции, запустите задание deploy_test после ручного запуска
  3. Если созданный запрос на слияние находится между dev и master веткой, запустите задание deploy_prod после ручного запуска

Я особенно хочу разрешить шаги 2 и 3, шаг 1 разрешим, используя упомянутое предложение only. Я также не хочу использовать предложение except, потому что я уже использую его по некоторым другим причинам. Конвейер должен выглядеть как код, перечисленный ниже, просто выясните, как должно выглядеть предложение only.

---
stages:
  - build
  - deploy

test_and_build:
  stage: build
  script:
    - ~/do-some-magic.sh
  only:
    - merge_requests
deploy_test:
  stage: deploy
  script:
    - ~/deploy-to-test.sh
  only:
   - ???
  when: manual
deploy_prod:
  stage: deploy
  script:
    - ~/deploy-to-prod.sh
  only:
    - ???
  when: manual
...