fix(ci): пересобирать docker-docs на tag-pipeline + откат main-<sha> hack

Логика:
- maven-package + docker-app/read-api/projection-writer/migrations/admin-ui
  не имеют `rules:` → запускаются на любом pipeline (tag тоже).
  Они пушат "v1-0-X-<sha>" + ":latest" + ":<branch_or_tag>" — образы доступны.
- docker-docs имеет явные rules только на main+changes / web → на tag
  pipeline НЕ срабатывал → docs image "v1-0-X-<sha>" не пушился →
  helm на проде получал ImagePullBackOff.

Фикс:
1. docker-docs: добавил правило `if: $CI_COMMIT_TAG =~ /^vX.Y.Z$/`.
2. resolve-tag: откатил main-<sha> костыль — теперь снова просто
   $IMAGE_TAG, который на tag-pipeline валидно резолвится в v1-0-X-<sha>.
This commit is contained in:
Zimin A.N.
2026-05-08 09:29:45 +03:00
parent 9322f4de56
commit 29f99f058b
+6 -11
View File
@@ -238,6 +238,10 @@ docker-docs:
rules:
- 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_PIPELINE_SOURCE == "web"'
when: manual
@@ -251,20 +255,11 @@ resolve-tag:
stage: trigger-deploy
image: repo.nstart.cloud/library/alpine:3.20
script:
# На tag-pipeline docker-* jobs не запускаются (rules только на main/MR/web).
# Образы уже опубликованы при push в main как `main-<sha>`. Тег указывает
# на тот же commit, поэтому SHORT_SHA совпадает — резолвим в main-<sha>.
- |
if [ -n "$CI_COMMIT_TAG" ]; then
RESOLVED="main-$CI_COMMIT_SHORT_SHA"
else
RESOLVED="$IMAGE_TAG"
fi
- echo "RESOLVED_IMAGE_TAG=$RESOLVED" > resolved.env
- echo "RESOLVED_IMAGE_TAG=$IMAGE_TAG" > resolved.env
# DOCS_IMAGE_TAG может быть пустым если docker-docs не пересобирался
# (path-filter no-match). Helm в infra оставит старый tag через
# --reset-then-reuse-values если переменная пустая.
- echo "RESOLVED_DOCS_TAG=$RESOLVED" >> resolved.env
- echo "RESOLVED_DOCS_TAG=$IMAGE_TAG" >> resolved.env
- cat resolved.env
artifacts:
reports: