fix(release): use absolute paths and add error handling in release scripts

- Add error handling to `cd` command to exit with a clear message if the worktree directory is missing
- Change relative `cp` source/destination paths to absolute paths prefixed with `$WORKTREE_PATH`, ensuring files are always read from and written to the intended worktree regardless of the current working directory
- Update inline comments to reflect the new absolute-path behavior in both `pre_release_web.sh` and `release_web.sh`
This commit is contained in:
2026-06-12 15:59:52 +08:00
parent 0660b90809
commit a48a380cf7
2 changed files with 14 additions and 14 deletions
+7 -7
View File
@@ -4,7 +4,7 @@
WORKTREE_PATH="/Users/chase/Documents/cozsweet-frontend-nextjs.worktrees/cozsweet-nextjs-test" WORKTREE_PATH="/Users/chase/Documents/cozsweet-frontend-nextjs.worktrees/cozsweet-nextjs-test"
echo "=== 进入 test 分支 worktree ===" echo "=== 进入 test 分支 worktree ==="
cd "$WORKTREE_PATH" cd "$WORKTREE_PATH" || { echo "错误: 无法进入 $WORKTREE_PATH"; exit 1; }
echo "=== 检查当前分支 ===" echo "=== 检查当前分支 ==="
git branch --show-current git branch --show-current
@@ -12,15 +12,15 @@ git branch --show-current
echo "=== 合并 dev 分支 ===" echo "=== 合并 dev 分支 ==="
git merge dev git merge dev
# 复制测试环境图标(source: icons/test → dest: public/ # 复制测试环境图标(source: $WORKTREE_PATH/icons/test → dest: $WORKTREE_PATH/public/
echo "=== 复制测试环境图标(icons/test → public/ ===" echo "=== 复制测试环境图标(icons/test → public/ ==="
cp -f icons/test/favicon.ico public/favicon.ico cp -f "$WORKTREE_PATH/icons/test/favicon.ico" "$WORKTREE_PATH/public/favicon.ico"
cp -f icons/test/icons/Icon-192.png public/images/icons/Icon-192.png cp -f "$WORKTREE_PATH/icons/test/icons/Icon-192.png" "$WORKTREE_PATH/public/images/icons/Icon-192.png"
cp -f icons/test/icons/Icon-512.png public/images/icons/Icon-512.png cp -f "$WORKTREE_PATH/icons/test/icons/Icon-512.png" "$WORKTREE_PATH/public/images/icons/Icon-512.png"
# 准备测试环境变量(env-example/.env.local.example → .env.local,供 purge_cdn_cache 读 CDN 凭据 # 准备测试环境变量($WORKTREE_PATH/env-example/.env.local.example → $WORKTREE_PATH/.env.local
echo "=== 准备测试环境变量(env-example/.env.local.example → .env.local ===" echo "=== 准备测试环境变量(env-example/.env.local.example → .env.local ==="
cp -f env-example/.env.local.example .env.local cp -f "$WORKTREE_PATH/env-example/.env.local.example" "$WORKTREE_PATH/.env.local"
echo "=== 执行构建部署脚本(测试环境)===" echo "=== 执行构建部署脚本(测试环境)==="
./scripts/deploy/deploy_web_test.sh ./scripts/deploy/deploy_web_test.sh
+7 -7
View File
@@ -4,7 +4,7 @@
WORKTREE_PATH="/Users/chase/Documents/cozsweet-frontend-nextjs.worktrees/cozsweet-nextjs-main" WORKTREE_PATH="/Users/chase/Documents/cozsweet-frontend-nextjs.worktrees/cozsweet-nextjs-main"
echo "=== 进入 main 分支 worktree ===" echo "=== 进入 main 分支 worktree ==="
cd "$WORKTREE_PATH" cd "$WORKTREE_PATH" || { echo "错误: 无法进入 $WORKTREE_PATH"; exit 1; }
echo "=== 检查当前分支 ===" echo "=== 检查当前分支 ==="
git branch --show-current git branch --show-current
@@ -12,15 +12,15 @@ git branch --show-current
echo "=== 合并 dev 分支 ===" echo "=== 合并 dev 分支 ==="
git merge dev git merge dev
# 复制生产环境图标(source: icons/production → dest: public/ # 复制生产环境图标(source: $WORKTREE_PATH/icons/production → dest: $WORKTREE_PATH/public/
echo "=== 复制生产环境图标(icons/production → public/ ===" echo "=== 复制生产环境图标(icons/production → public/ ==="
cp -f icons/production/favicon.ico public/favicon.ico cp -f "$WORKTREE_PATH/icons/production/favicon.ico" "$WORKTREE_PATH/public/favicon.ico"
cp -f icons/production/icons/Icon-192.png public/images/icons/Icon-192.png cp -f "$WORKTREE_PATH/icons/production/icons/Icon-192.png" "$WORKTREE_PATH/public/images/icons/Icon-192.png"
cp -f icons/production/icons/Icon-512.png public/images/icons/Icon-512.png cp -f "$WORKTREE_PATH/icons/production/icons/Icon-512.png" "$WORKTREE_PATH/public/images/icons/Icon-512.png"
# 准备生产环境变量(env-example/.env.production.example → .env.local,供 purge_cdn_cache 读 CDN 凭据 # 准备生产环境变量($WORKTREE_PATH/env-example/.env.production.example → $WORKTREE_PATH/.env.local
echo "=== 准备生产环境变量(env-example/.env.production.example → .env.local ===" echo "=== 准备生产环境变量(env-example/.env.production.example → .env.local ==="
cp -f env-example/.env.production.example .env.local cp -f "$WORKTREE_PATH/env-example/.env.production.example" "$WORKTREE_PATH/.env.local"
echo "=== 执行构建部署脚本 ===" echo "=== 执行构建部署脚本 ==="
./scripts/deploy/deploy_web.sh ./scripts/deploy/deploy_web.sh