fix(ci): на tag-pipeline резолвить в main-<sha> (already-built images)

На tag-pipeline (`v1.0.X`) docker-* jobs не запускаются — их rules
матчатся только на main / merge_request / web trigger. Это by design:
тег создаётся уже после успешного main push, образы есть в registry
как `main-<sha>`.

Но resolve-tag раньше выдавал $IMAGE_TAG = "v1-0-5-<sha>" — такого
образа нет → helm pull падал.

Теперь на tag-pipeline резолвим в "main-<sha>" (тот же commit, тот же
SHORT_SHA). На main-pipeline поведение прежнее.
This commit is contained in:
Zimin A.N.
2026-05-08 09:27:57 +03:00
parent 0b1e097c67
commit 9322f4de56
+11 -2
View File
@@ -251,11 +251,20 @@ resolve-tag:
stage: trigger-deploy
image: repo.nstart.cloud/library/alpine:3.20
script:
- echo "RESOLVED_IMAGE_TAG=$IMAGE_TAG" > resolved.env
# На 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
# DOCS_IMAGE_TAG может быть пустым если docker-docs не пересобирался
# (path-filter no-match). Helm в infra оставит старый tag через
# --reset-then-reuse-values если переменная пустая.
- echo "RESOLVED_DOCS_TAG=$IMAGE_TAG" >> resolved.env
- echo "RESOLVED_DOCS_TAG=$RESOLVED" >> resolved.env
- cat resolved.env
artifacts:
reports: