Типовой поток: checkout → build → unit/lint → package (image/artifact) → security scan → deploy-to-dev/stage → integration tests → approval → prod; дешёвые проверки раньше дорогих.
Разбор
- Fail fast экономит минуты runners и деньги.
- Deploy stage отделяют от build, чтобы не пересобирать для каждой среды.
- Quality gate — явная развилка pass/fail до promo.
- Имена stages зависят от GitHub Actions / GitLab CI / Jenkins, идея общая.
Пример
# схема: build → test → image → deploy-dev → deploy-prod
Итог
Стадии кодируют порядок риска: сначала дешёвая обратная связь, потом выкладка.