ci(docker): force --pull on base images to recover from Nexus blob loss
Pipeline 6017 (07c5ca0, main) failed on docker-app/projection-writer/read-api
all referencing missing blob sha256:74e368405305a59e71a1fec5de6a75cc307bd663ebb9b47af045c3a5bdf30cec
после Nexus disk-full cleanup. Blob — это shared layer от base image
(eclipse-temurin:21-jre / maven:3.9.9-eclipse-temurin-21), который Nexus
docker-proxy кэш потерял. BuildKit на runner'е держал stale reference в своём
inline cache, не push'ал blob, manifest fail.
`docker build --pull` форсирует Nexus proxy лениво re-fetch base image с
Docker Hub на каждом build'е → blob возвращается в storage. После одного
успешного pipeline'а можно убрать флаг (cache восстановится), но flag
безвреден в healthy state — стоит ~5-10s на проверку pull.
Не меняет behaviour приложения. CI/runtime fix only.
This commit is contained in:
+6
-1
@@ -187,7 +187,12 @@ build-docs:
|
|||||||
for i in $(seq 1 30); do docker info >/dev/null 2>&1 && break; sleep 1; done
|
for i in $(seq 1 30); do docker info >/dev/null 2>&1 && break; sleep 1; done
|
||||||
echo "$REGISTRY_PASSWORD" | docker login "$REGISTRY" -u "$REGISTRY_USER" --password-stdin
|
echo "$REGISTRY_PASSWORD" | docker login "$REGISTRY" -u "$REGISTRY_USER" --password-stdin
|
||||||
IMG="$REGISTRY/$IMAGE_REPO/$SVC"
|
IMG="$REGISTRY/$IMAGE_REPO/$SVC"
|
||||||
docker build -f "$DOCKERFILE" \
|
# --pull форсирует re-fetch базового image (FROM ...) на каждом build'е →
|
||||||
|
# если Nexus docker-proxy кэш потерял слой (post disk-full incident), proxy
|
||||||
|
# лениво re-fetch'ит blob с Docker Hub. Без флага BuildKit cache на runner'е
|
||||||
|
# держит stale reference на уже-удалённый blob → manifest push fail
|
||||||
|
# "blob unknown to registry". Стоимость флага — +5-10s на pull проверку.
|
||||||
|
docker build --pull -f "$DOCKERFILE" \
|
||||||
-t "$IMG:$IMAGE_TAG" -t "$IMG:latest" -t "$IMG:$CI_COMMIT_REF_SLUG" \
|
-t "$IMG:$IMAGE_TAG" -t "$IMG:latest" -t "$IMG:$CI_COMMIT_REF_SLUG" \
|
||||||
--build-arg BUILDKIT_INLINE_CACHE=1 \
|
--build-arg BUILDKIT_INLINE_CACHE=1 \
|
||||||
"$BUILD_CONTEXT"
|
"$BUILD_CONTEXT"
|
||||||
|
|||||||
Reference in New Issue
Block a user