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:
+11
-2
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user