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
Some checks failed
Deploy Noval to K3s / deploy (push) Has been cancelled
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user