init: UserBaseService (backend + deploy + scripts)
ci-userbase-service / build-and-push (push) Successful in 40s

This commit is contained in:
chenxing
2026-08-10 14:50:22 +08:00
commit 4ec19486e0
234 changed files with 15604 additions and 0 deletions
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env bash
# 本地构建 UserBase 前后端镜像并推送到阿里云 ACR
# 用法: ./build-push.sh [app_tag] [front_tag]
# 前置环境变量: ACR_NAMESPACE, ACR_USERNAME, ACR_PASSWORD
# 前置产物: service/target/userbase.jar、front/dist/prod/
set -euo pipefail
APP_VERSION="${1:-${APP_VERSION:-userbase-v1.0}}"
FRONT_VERSION="${2:-${FRONT_VERSION:-userbase-front-v1.0}}"
REGISTRY="${ACR_REGISTRY:-registry.cn-hangzhou.aliyuncs.com}"
NAMESPACE="${ACR_NAMESPACE:?请设置 ACR_NAMESPACE}"
REPO="${ACR_REPO:-yunhai}"
APP_IMG="$REGISTRY/$NAMESPACE/$REPO:$APP_VERSION"
FRONT_IMG="$REGISTRY/$NAMESPACE/$REPO:$FRONT_VERSION"
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
[ -f "$ROOT/service/target/userbase.jar" ] || { echo "缺少 service/target/userbase.jar,请先 mvn package"; exit 1; }
[ -f "$ROOT/front/dist/prod/index.html" ] || { echo "缺少 front/dist/prod,请先 npm run build:prod"; exit 1; }
echo "== login $REGISTRY =="
echo "${ACR_PASSWORD:?请设置 ACR_PASSWORD}" | docker login --username="${ACR_USERNAME:?请设置 ACR_USERNAME}" --password-stdin "$REGISTRY"
echo "== build $APP_IMG =="
docker build -f "$ROOT/service/docker/Dockerfile" -t "$APP_IMG" "$ROOT/service"
echo "== build $FRONT_IMG =="
docker build -f "$ROOT/front/docker/Dockerfile" -t "$FRONT_IMG" "$ROOT/front"
echo "== push =="
docker push "$APP_IMG"
docker push "$FRONT_IMG"
echo "PUSHED $APP_IMG"
echo "PUSHED $FRONT_IMG"