From 1e0c49fd6936c175811c5f11c4e0130122b889de Mon Sep 17 00:00:00 2001 From: "Zimin A.N." Date: Fri, 15 May 2026 22:34:47 +0300 Subject: [PATCH] =?UTF-8?q?fix(ci):=20apk=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=B7=D1=83=D0=B5=D1=82=20internal=20Nexus=20mirror=20?= =?UTF-8?q?=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20public=20Alpine=20CDN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Runner не имеет outbound к dl-cdn.alpinelinux.org (Permission denied): ``` WARNING: fetching https://dl-cdn.alpinelinux.org/alpine/v3.20/main: Permission denied ERROR: unable to select packages: curl, git, jq (no such package) ``` Это сломало propose-prod-image-bump в v2.31.3 tag pipeline (failed) — пришлось вручную создавать infra MR. Тот же риск висел над commit-msg-lint и build-docs. Fix: sed-замена /etc/apk/repositories на `repo.nstart.cloud/repository/alpine` перед каждым apk add. Probe подтвердил что mirror отвечает 200 на `/repository/alpine/v3.20/main/x86_64/APKINDEX.tar.gz`. Touches: 3 Alpine-based jobs (commit-msg-lint, build-docs, propose-prod-image-bump). --- .gitlab-ci.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8c03f23..1b2a44b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -100,6 +100,10 @@ commit-msg-lint: stage: test image: repo.nstart.cloud/library/alpine:3.20 script: + # Runner не имеет outbound к dl-cdn.alpinelinux.org (Permission denied) — + # переадресуем apk на internal Nexus mirror. Это нужно во всех Alpine + # jobs (commit-msg-lint, build-docs ниже, propose-prod-image-bump). + - sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://repo.nstart.cloud/repository/alpine|g' /etc/apk/repositories - apk add --no-cache git grep - | set -e @@ -636,6 +640,8 @@ release: echo "═══════════════════════════════════════════════════════════════" exit 0 fi + # Internal Alpine mirror — см. commit-msg-lint выше для контекста. + - sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://repo.nstart.cloud/repository/alpine|g' /etc/apk/repositories - apk add --no-cache git ca-certificates # Configure git remote с токеном для push. CI default remote — HTTPS с # CI_JOB_TOKEN scope, который НЕ может push'ить tags/commits. Переопределяем @@ -737,6 +743,8 @@ propose-prod-image-bump: echo "═══════════════════════════════════════════════════════════════" exit 0 fi + # Internal Alpine mirror — см. commit-msg-lint выше для контекста. + - sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://repo.nstart.cloud/repository/alpine|g' /etc/apk/repositories - apk add --no-cache git curl jq script: - |