init: userbase front/service/deploy source (CI builds front via Gitea Actions)

This commit is contained in:
ab
2026-08-04 21:24:50 +08:00
commit e02dcc23da
407 changed files with 48134 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"