diff --git a/.woodpecker.yml b/.woodpecker.yml index 18ef2dc..fc49ffd 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -27,27 +27,23 @@ steps: from_secret: forgejo_username password: from_secret: forgejo_token - tags: - latest - "sha-${CI_COMMIT_SHA:0:8}" - - # Используем inline-кэш из latest + # Берём inline-кэш из latest; ARG GIT_COMMIT теперь в конце Dockerfile — кэш не сбивается cache_from: from_secret: forgejo_image - - # ❌ УБРАНО: cache_to — именно оно вызывало зависания - + # mode=max кэширует все промежуточные слои (apk, npm install) в отдельный манифест + cache_to: + from_secret: forgejo_image_cache # значение: /:buildcache rewrite_timestamp: false build_args: - "GIT_COMMIT=${CI_COMMIT_SHA:0:8}" - "BUILDKIT_INLINE_CACHE=1" - when: - event: push branch: main - # ── 1б. Сборка при git tag v* (semver) ──────────────────────────────────── - name: docker-build-tag image: woodpeckerci/plugin-docker-buildx @@ -61,20 +57,17 @@ steps: password: from_secret: forgejo_token tags: - - "${CI_COMMIT_TAG}" + - "${CI_COMMIT_TAG}" # v1.2.3 - latest - - "sha-${CI_COMMIT_SHA:0:8}" - + - "sha-${CI_COMMIT_SHA:0:8}" # всегда — нужно для отката cache_from: - from_secret: forgejo_image - + from_secret: forgejo_image # значение: git.example.com/user/intradesk-monitor:latest build_args: - "GIT_COMMIT=${CI_COMMIT_SHA:0:8}" - "BUILDKIT_INLINE_CACHE=1" when: - event: tag - # ── 2. Деплой на продакшн-сервер ────────────────────────────────────────── # Выполняется на Woodpecker-агенте с меткой role=work_woodpecker. # Требует: репозиторий помечен «trusted» в настройках Woodpecker-сервера