Это именно то, для чего stages
.Вы используете слово «этап» здесь, когда на самом деле описывает «работу».
Задания на одном и том же этапе могут выполняться параллельно (если у вас есть участники, поддерживающие его), но этапы выполняются по порядку.
Сначала определите свои 2 этапа на верхнем уровне .gitlab-ci.yml
:
stages:
- build
- dist
Затем на каждом задании укажите этап, к которому оно относится:
stepA:
stage: build
script:
- echo "A"
deploy:
stage: dist
script:
- echo "1"
stepB:
stage: build
script:
- echo "B"
Теперь stepA
и stepB
будут выполняться первыми (в любом порядке или дажепараллельно), за которым следует deploy
при условии, что первая стадия прошла успешно.