chore(ci): add retry pulls for base images to avoid transient docker hub timeout
Some checks failed
Deploy Noval to K3s / deploy (push) Has been cancelled

This commit is contained in:
2026-03-22 17:33:50 +08:00
parent 2ec7cd25cd
commit 6fb4635c21

View File

@@ -29,8 +29,29 @@ jobs:
NEW_COMMIT_MSG=$(git log -1 --oneline)
FULL_IMAGE="${IMAGE_NAME}:${NEW_COMMIT_SHA}"
echo "🌐 预拉取基础镜像(带重试,避免网络抖动)..."
pull_with_retry() {
local image="$1"
local max=5
local n=1
until [ $n -gt $max ]; do
echo "尝试拉取 ${image} (${n}/${max})"
if docker pull "${image}"; then
echo "✅ 拉取成功: ${image}"
return 0
fi
sleep $((n * 5))
n=$((n + 1))
done
echo "❌ 拉取失败: ${image}"
return 1
}
pull_with_retry node:20-alpine
pull_with_retry python:3.12-slim
echo "📦 构建镜像 ${FULL_IMAGE}"
docker build -t "${FULL_IMAGE}" .
docker build --pull=false -t "${FULL_IMAGE}" .
docker tag "${FULL_IMAGE}" "${IMAGE_NAME}:latest"
if command -v k3s >/dev/null 2>&1; then