Build создаёт артефакт; release маркирует/подписывает версию; deploy промоутит в среду — разделение упрощает права, аудит и повторный деплой без пересборки.
Разбор
- Разные OIDC roles на push image и на kube apply.
- Release notes/changelog на release job.
- Deploy читает только registry/gitops, не исходники сборки.
- Ручной approve между release и prod deploy.
Итог
Разделение ролей jobs уменьшает blast radius скомпрометированного шага.