From 080ecb7a650ed33f656ee8187bb507c4670fe61a Mon Sep 17 00:00:00 2001 From: "Zimin A.N." Date: Fri, 8 May 2026 09:51:26 +0300 Subject: [PATCH] =?UTF-8?q?fix(ci):=20docker-docs=20=D0=B2=D1=81=D0=B5?= =?UTF-8?q?=D0=B3=D0=B4=D0=B0=20=D1=81=D0=BE=D0=B1=D0=B8=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BD=D0=B0=20main+tag=20(drop=20path-filter)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- .gitlab-ci.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 089b2ce..58d0b06 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -236,11 +236,12 @@ docker-docs: script: - *publish_script rules: + # На main + tag собираем БЕЗ path-filter. Иначе resolve-tag emit'ит + # docs=main-, helm пытается pull этого тега, image отсутствует + # (docker-docs не запускался) → atomic rollback с context deadline + # exceeded. Layer cache при отсутствии docs/* changes делает rebuild + # ~30 sec — приемлемая цена за гарантию что image для tag существует. - if: '$CI_COMMIT_BRANCH == "main"' - changes: *docs-changes - # На tag-pipeline backend images собираются всегда (maven-package - # + docker-* без rules). docs тоже надо пересобрать чтобы helm - # подтянул `v1-0-X-` тег docs image на проде. - if: '$CI_COMMIT_TAG =~ /^v[0-9]+\.[0-9]+\.[0-9]+$/' - if: '$CI_PIPELINE_SOURCE == "web"' when: manual