This commit is contained in:
+28
-11
@@ -21,6 +21,7 @@ show_help() {
|
||||
选项(可合并,如 -ir):
|
||||
-i 排除 images 目录 (*images/*)
|
||||
-r 上传完成后刷新 CloudFront 缓存
|
||||
-y 跳过确认(用于 CI)
|
||||
-h 显示此帮助
|
||||
|
||||
示例:
|
||||
@@ -32,20 +33,22 @@ show_help() {
|
||||
EOF
|
||||
}
|
||||
|
||||
# 自动识别项目名称 (x8 / x9),依据脚本所在的项目根目录名
|
||||
# CI 显式传入型号;本地按 Git 分支识别,非 Git 目录则回退到目录名。
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(basename "$(dirname "$SCRIPT_DIR")")"
|
||||
PROJECT_NAME="$(echo "$PROJECT_ROOT" | grep -oE '^(x8|x9|b9)')"
|
||||
|
||||
if [ -z "$PROJECT_NAME" ]; then
|
||||
echo "错误: 无法从路径 '$PROJECT_ROOT' 识别项目名称 (x8/x9/b9)"
|
||||
exit 1
|
||||
fi
|
||||
PROJECT_BRANCH="$(git -C "$SCRIPT_DIR" symbolic-ref --quiet --short HEAD 2>/dev/null || true)"
|
||||
PROJECT_NAME="${DEPLOY_PROJECT_NAME:-${PROJECT_BRANCH:-${PROJECT_ROOT%-controller}}}"
|
||||
case "$PROJECT_NAME" in
|
||||
main) PROJECT_NAME="x8" ;;
|
||||
x8|x9|b9|bd9|bh9) ;;
|
||||
*) echo "错误: 不支持的型号分支 '$PROJECT_NAME'"; exit 1 ;;
|
||||
esac
|
||||
|
||||
# 解析参数
|
||||
TARGET_ENV="prod"
|
||||
EXCLUDE_IMAGES=false
|
||||
RELOAD=false
|
||||
ASSUME_YES=false
|
||||
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
@@ -70,6 +73,9 @@ for arg in "$@"; do
|
||||
i)
|
||||
EXCLUDE_IMAGES=true
|
||||
;;
|
||||
y)
|
||||
ASSUME_YES=true
|
||||
;;
|
||||
r)
|
||||
RELOAD=true
|
||||
;;
|
||||
@@ -121,10 +127,21 @@ echo "命令: ${CMD_ARGS[*]}"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
read -r -p "确认执行部署? 输入 y 继续: " confirm
|
||||
if [[ ! "$confirm" =~ ^[Yy]$ ]]; then
|
||||
echo "已取消部署。"
|
||||
exit 0
|
||||
# 在项目根目录执行,避免 CI 的当前目录影响同步源。
|
||||
cd "$SCRIPT_DIR/.."
|
||||
for entry in i.html legacy/i.legacy.html modern/i.modern.html; do
|
||||
if [ ! -s "dist/$entry" ]; then
|
||||
echo "错误: 缺少构建产物 dist/$entry,请先完成构建。"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$ASSUME_YES" != true ]; then
|
||||
read -r -p "确认执行部署? 输入 y 继续: " confirm
|
||||
if [[ ! "$confirm" =~ ^[Yy]$ ]]; then
|
||||
echo "已取消部署。"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user