fix(ci): docker-docs всегда собирать на main+tag (drop path-filter)
deploy-staging упал с "context deadline exceeded" → atomic rollback.
Причина: коммит 29f99f0 трогал только .gitlab-ci.yml. По старому правилу
`changes: docs-changes` job docker-docs не запускался → ordinis-docs:main-29f99f05
не пушился. Но resolve-tag всё равно emit'ил DOCS_IMAGE_TAG=main-29f99f05.
Helm пытался pull → ImagePullBackOff → wait timeout → rollback.
Trade-off: docker-docs теперь срабатывает на любой main push. Layer cache
при отсутствии docs/* changes делает rebuild ~30 sec.
This commit is contained in:
+5
-4
@@ -236,11 +236,12 @@ docker-docs:
|
|||||||
script:
|
script:
|
||||||
- *publish_script
|
- *publish_script
|
||||||
rules:
|
rules:
|
||||||
|
# На main + tag собираем БЕЗ path-filter. Иначе resolve-tag emit'ит
|
||||||
|
# docs=main-<sha>, helm пытается pull этого тега, image отсутствует
|
||||||
|
# (docker-docs не запускался) → atomic rollback с context deadline
|
||||||
|
# exceeded. Layer cache при отсутствии docs/* changes делает rebuild
|
||||||
|
# ~30 sec — приемлемая цена за гарантию что image для tag существует.
|
||||||
- if: '$CI_COMMIT_BRANCH == "main"'
|
- if: '$CI_COMMIT_BRANCH == "main"'
|
||||||
changes: *docs-changes
|
|
||||||
# На tag-pipeline backend images собираются всегда (maven-package
|
|
||||||
# + docker-* без rules). docs тоже надо пересобрать чтобы helm
|
|
||||||
# подтянул `v1-0-X-<sha>` тег docs image на проде.
|
|
||||||
- if: '$CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/'
|
- if: '$CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/'
|
||||||
- if: '$CI_PIPELINE_SOURCE == "web"'
|
- if: '$CI_PIPELINE_SOURCE == "web"'
|
||||||
when: manual
|
when: manual
|
||||||
|
|||||||
Reference in New Issue
Block a user