605a3eb841
CI/CD Pipeline / Check if frontend-only change (push) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Successful in 1s
CI/CD Pipeline / Check push changed paths (push) Successful in 1s
CI/CD Pipeline / Frontend Lint (push) Has been skipped
CI/CD Pipeline / PR Build API Image (push) Has been skipped
CI/CD Pipeline / PR Build Web Image (push) Has been skipped
CI/CD Pipeline / PR Build Worker Image (push) Has been skipped
CI/CD Pipeline / Build Staging Web Image (push) Successful in 34s
CI/CD Pipeline / Build Staging API Image (push) Successful in 57s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 2m29s
CI/CD Pipeline / Retag skipped Staging API Image (push) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (push) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Has been skipped
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 2m59s
CI/CD Pipeline / Validate - Style (push) Successful in 3m12s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 52s
CI/CD Pipeline / Integration Tests (push) Successful in 4m19s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m57s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 5m54s
CI/CD Pipeline / Validate - Security (push) Successful in 6m32s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m15s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 4m24s
CI/CD Pipeline / Unit Tests (push) Successful in 10m23s
CI/CD Pipeline / Build Production API Image (push) Has been skipped
CI/CD Pipeline / Build Production Web Image (push) Has been skipped
CI/CD Pipeline / Build Production Worker Image (push) Has been skipped
CI/CD Pipeline / CI Gate (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Canary Release to Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
公共域名 registry.cn-hangzhou.aliyuncs.com 使用独立凭据, 现有 ACR_USERNAME/ACR_PASSWORD 绑定自定义域名企业版实例, docker login 报 unauthorized 无法拉/推镜像。 等 ACR 自定义域名 xiaoxia-registry 公网接入恢复后, 基于原有配置即可正常构建。
41 lines
1.2 KiB
Bash
Executable File
41 lines
1.2 KiB
Bash
Executable File
#!/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}}"
|