У меня есть Gitlab v11.9.6, и я хочу создать конвейер, который:
- Запускает этап сборки для каждого запроса на слияние (
only: merge_requests
)
- Если запрос на объединение находится между dev и ветвью функции, запустите задание deploy_test после ручного запуска
- Если созданный запрос на слияние находится между 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