Merge branch 'fix/ci-alpine-git-prebuilt' into 'main'
fix(ci): commit-msg-lint и commit-prod-image-bump на alpine/git pre-baked See merge request 2-6/2-6-4/terravault/ordinis!301
This commit is contained in:
+16
-15
@@ -98,17 +98,16 @@ default:
|
||||
# содержит весь changelog со всеми историческими commit'ами — false positive.
|
||||
commit-msg-lint:
|
||||
stage: test
|
||||
image: repo.nstart.cloud/dockerhub/library/alpine:3.20
|
||||
# alpine/git: git + grep (busybox) + ca-certs pre-installed, никакого
|
||||
# `apk add` не нужно. Раньше использовали alpine:3.20 + apk install, но
|
||||
# Nexus alpine mirror (`repo.nstart.cloud/repository/alpine/...`) даёт
|
||||
# IO ERROR на v3.20 APKINDEX (см. pipeline 14917). До починки mirror'а
|
||||
# — используем pre-baked image. entrypoint: [""] сбрасывает ENTRYPOINT=["git"]
|
||||
# этого image — иначе runner выполняет `git <script>` вместо `sh`.
|
||||
image:
|
||||
name: repo.nstart.cloud/dockerhub/alpine/git:v2.45.2
|
||||
entrypoint: [""]
|
||||
script:
|
||||
# Runner не имеет outbound к dl-cdn.alpinelinux.org (Permission denied) —
|
||||
# переадресуем apk на internal Nexus mirror. Это нужно во всех Alpine
|
||||
# jobs (commit-msg-lint, build-docs ниже, commit-prod-image-bump).
|
||||
- sed -i 's|https://dl-cdn.alpinelinux.org/alpine|https://repo.nstart.cloud/repository/alpine|g' /etc/apk/repositories
|
||||
# apk update обязателен ПОСЛЕ repo swap: image приходит с pre-cached
|
||||
# APKINDEX (старые package versions). Без update apk ищет старые .apk
|
||||
# файлы которых нет в нашем mirror → HTTP 404. См. job 36025 история.
|
||||
- apk update
|
||||
- apk add --no-cache git grep
|
||||
- |
|
||||
set -e
|
||||
# Сравниваем с last common ancestor relative к main для MR pipeline'ов,
|
||||
@@ -739,7 +738,11 @@ release:
|
||||
# Allow_failure: true — manual deploy backup path остаётся если что.
|
||||
commit-prod-image-bump:
|
||||
stage: release
|
||||
image: repo.nstart.cloud/dockerhub/library/alpine:3.20
|
||||
# alpine/git: git pre-installed, без apk add. См. commit-msg-lint.
|
||||
# entrypoint: [""] — overrides image's ENTRYPOINT=["git"].
|
||||
image:
|
||||
name: repo.nstart.cloud/dockerhub/alpine/git:v2.45.2
|
||||
entrypoint: [""]
|
||||
needs:
|
||||
# На tag pipeline images приходят через retag-* (не docker-*) после
|
||||
# !205 (ci/retag-on-tag-pipeline). Поэтому needs ссылается на retag-*.
|
||||
@@ -779,10 +782,8 @@ commit-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 update
|
||||
- apk add --no-cache git
|
||||
# git уже встроен в alpine/git image (см. commit-msg-lint), apk install
|
||||
# не нужен. Image менялся в `image:` выше — alpine:3.20 → alpine/git.
|
||||
script:
|
||||
- |
|
||||
set -euo pipefail
|
||||
|
||||
Reference in New Issue
Block a user