#!/bin/bash # ============================================================ # 重建 API 基础镜像脚本 # 用途:当 requirements-base.txt 或 requirements.txt 变更时手动触发 # 前提:需要在已登录 ACR 的构建服务器上执行 # ============================================================ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" REGISTRY="xiaoxia-registry.cn-hangzhou.cr.aliyuncs.com/xiaoxiakeji" IMAGE_NAME="saas-api-base" TAG="latest" FULL_TAG="${REGISTRY}/${IMAGE_NAME}:${TAG}" echo "=========================================" echo "🔨 Rebuilding API base image" echo " Registry: ${REGISTRY}" echo " Image: ${FULL_TAG}" echo " Context: ${REPO_ROOT}" echo "=========================================" cd "$REPO_ROOT" # 构建并推送 docker buildx build \ --platform linux/amd64 \ --tag "${FULL_TAG}" \ --push \ -f infra/docker/api-base.Dockerfile \ . echo "" echo "✅ API base image pushed: ${FULL_TAG}" # 显示镜像大小 docker pull "${FULL_TAG}" > /dev/null 2>&1 docker images "${FULL_TAG}" --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}"