|
@@ -15,7 +15,7 @@ BACKEND_DIR="$ROOT_DIR/shudao-go-backend"
|
|
|
OUTPUT_DIR="$ROOT_DIR/deploy_output"
|
|
OUTPUT_DIR="$ROOT_DIR/deploy_output"
|
|
|
|
|
|
|
|
# 1. 前端构建
|
|
# 1. 前端构建
|
|
|
-echo "[1/5] 正在构建前端项目 (Vue)..."
|
|
|
|
|
|
|
+echo "[1/6] 正在构建前端项目 (Vue)..."
|
|
|
cd "$FRONTEND_DIR"
|
|
cd "$FRONTEND_DIR"
|
|
|
npm run build
|
|
npm run build
|
|
|
if [ $? -ne 0 ]; then
|
|
if [ $? -ne 0 ]; then
|
|
@@ -26,7 +26,7 @@ echo "[SUCCESS] 前端构建完成。"
|
|
|
echo ""
|
|
echo ""
|
|
|
|
|
|
|
|
# 2. 清理后端旧资源
|
|
# 2. 清理后端旧资源
|
|
|
-echo "[2/5] 清理后端旧资源..."
|
|
|
|
|
|
|
+echo "[2/6] 清理后端旧资源..."
|
|
|
cd "$ROOT_DIR"
|
|
cd "$ROOT_DIR"
|
|
|
if [ -d "$BACKEND_DIR/assets" ]; then
|
|
if [ -d "$BACKEND_DIR/assets" ]; then
|
|
|
rm -rf "$BACKEND_DIR/assets"
|
|
rm -rf "$BACKEND_DIR/assets"
|
|
@@ -38,45 +38,45 @@ echo "[SUCCESS] 清理完成。"
|
|
|
echo ""
|
|
echo ""
|
|
|
|
|
|
|
|
# 3. 复制新资源
|
|
# 3. 复制新资源
|
|
|
-echo "[3/5] 整合前端资源到后端..."
|
|
|
|
|
-# 确保目标目录存在
|
|
|
|
|
|
|
+echo "[3/6] 整合前端资源到后端..."
|
|
|
mkdir -p "$BACKEND_DIR/assets"
|
|
mkdir -p "$BACKEND_DIR/assets"
|
|
|
mkdir -p "$BACKEND_DIR/views"
|
|
mkdir -p "$BACKEND_DIR/views"
|
|
|
-
|
|
|
|
|
-# 复制 assets 目录内容
|
|
|
|
|
-# 注意:cp -r source/* dest/ 会将内容复制进去
|
|
|
|
|
cp -r "$FRONTEND_DIR/dist/assets/"* "$BACKEND_DIR/assets/"
|
|
cp -r "$FRONTEND_DIR/dist/assets/"* "$BACKEND_DIR/assets/"
|
|
|
-# 复制 index.html
|
|
|
|
|
cp "$FRONTEND_DIR/dist/index.html" "$BACKEND_DIR/views/index.html"
|
|
cp "$FRONTEND_DIR/dist/index.html" "$BACKEND_DIR/views/index.html"
|
|
|
echo "[SUCCESS] 资源整合完成。"
|
|
echo "[SUCCESS] 资源整合完成。"
|
|
|
echo ""
|
|
echo ""
|
|
|
|
|
|
|
|
-# 4. 后端打包 (Linux amd64)
|
|
|
|
|
-echo "[4/5] 正在打包后端 (Target: Linux/amd64)..."
|
|
|
|
|
|
|
+# 4. 复制生产环境配置
|
|
|
|
|
+echo "[4/6] 复制生产环境配置..."
|
|
|
|
|
+mkdir -p "$BACKEND_DIR/conf"
|
|
|
|
|
+cp "$BACKEND_DIR/conf/app.conf.prod" "$BACKEND_DIR/conf/app.conf"
|
|
|
|
|
+echo "[SUCCESS] 配置文件已更新为生产环境。"
|
|
|
|
|
+echo ""
|
|
|
|
|
+
|
|
|
|
|
+# 5. 后端打包 (Linux amd64)
|
|
|
|
|
+echo "[5/6] 正在打包后端 (Target: Linux/amd64)..."
|
|
|
cd "$BACKEND_DIR"
|
|
cd "$BACKEND_DIR"
|
|
|
-# 显式指定 GOOS=linux 以确保生成 Linux 二进制文件
|
|
|
|
|
bee pack -be GOOS=linux -be GOARCH=amd64
|
|
bee pack -be GOOS=linux -be GOARCH=amd64
|
|
|
if [ $? -ne 0 ]; then
|
|
if [ $? -ne 0 ]; then
|
|
|
- echo "[ERROR] 后端打包失败!请确保已安装 bee 工具 (go install github.com/beego/bee/v2@latest)。"
|
|
|
|
|
|
|
+ echo "[ERROR] 后端打包失败!请确保已安装 bee 工具。"
|
|
|
exit 1
|
|
exit 1
|
|
|
fi
|
|
fi
|
|
|
echo "[SUCCESS] 后端打包完成。"
|
|
echo "[SUCCESS] 后端打包完成。"
|
|
|
echo ""
|
|
echo ""
|
|
|
|
|
|
|
|
-# 5. 解压验证
|
|
|
|
|
-echo "[5/5] 解压验证 (Output: deploy_output)..."
|
|
|
|
|
|
|
+# 6. 解压验证
|
|
|
|
|
+echo "[6/6] 解压验证 (Output: deploy_output)..."
|
|
|
cd "$ROOT_DIR"
|
|
cd "$ROOT_DIR"
|
|
|
if [ -d "$OUTPUT_DIR" ]; then
|
|
if [ -d "$OUTPUT_DIR" ]; then
|
|
|
rm -rf "$OUTPUT_DIR"
|
|
rm -rf "$OUTPUT_DIR"
|
|
|
fi
|
|
fi
|
|
|
mkdir -p "$OUTPUT_DIR"
|
|
mkdir -p "$OUTPUT_DIR"
|
|
|
|
|
|
|
|
-# 检查压缩包是否存在
|
|
|
|
|
if [ -f "$BACKEND_DIR/shudao-go-backend.tar.gz" ]; then
|
|
if [ -f "$BACKEND_DIR/shudao-go-backend.tar.gz" ]; then
|
|
|
tar -xzf "$BACKEND_DIR/shudao-go-backend.tar.gz" -C "$OUTPUT_DIR"
|
|
tar -xzf "$BACKEND_DIR/shudao-go-backend.tar.gz" -C "$OUTPUT_DIR"
|
|
|
echo "[SUCCESS] 已解压到: $OUTPUT_DIR"
|
|
echo "[SUCCESS] 已解压到: $OUTPUT_DIR"
|
|
|
else
|
|
else
|
|
|
- echo "[WARNING] 未找到压缩包,可能打包名称不匹配,请手动检查 shudao-go-backend 目录。"
|
|
|
|
|
|
|
+ echo "[WARNING] 未找到压缩包,请手动检查。"
|
|
|
fi
|
|
fi
|
|
|
echo ""
|
|
echo ""
|
|
|
|
|
|
|
@@ -86,4 +86,5 @@ echo "========================================================"
|
|
|
echo ""
|
|
echo ""
|
|
|
echo "部署包位置: $BACKEND_DIR/shudao-go-backend.tar.gz"
|
|
echo "部署包位置: $BACKEND_DIR/shudao-go-backend.tar.gz"
|
|
|
echo "解压预览: $OUTPUT_DIR"
|
|
echo "解压预览: $OUTPUT_DIR"
|
|
|
|
|
+echo "环境: 生产环境 (aqai.shudaodsj.com)"
|
|
|
echo ""
|
|
echo ""
|