50 lines
1.4 KiB
Bash
50 lines
1.4 KiB
Bash
#!/bin/bash
|
|
# ============================================
|
|
# 前端打包脚本
|
|
# 构建并打包 dist + nginx.conf 为部署包
|
|
# ============================================
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
echo "============================================"
|
|
echo " 前端打包"
|
|
echo "============================================"
|
|
|
|
# 安装依赖
|
|
echo "[1/4] 安装依赖..."
|
|
npm install
|
|
|
|
# 构建
|
|
echo "[2/4] 构建前端..."
|
|
npm run build
|
|
|
|
# 复制 nginx 配置到 dist
|
|
echo "[3/4] 复制配置文件..."
|
|
cp nginx.conf dist/nginx.conf.example
|
|
|
|
# 打包
|
|
echo "[4/4] 打包..."
|
|
VERSION=$(date +%Y%m%d_%H%M%S)
|
|
TAR_NAME="frontend_${VERSION}.tar.gz"
|
|
tar -czf "$TAR_NAME" -C dist .
|
|
|
|
echo ""
|
|
echo "============================================"
|
|
echo " 打包完成!"
|
|
echo "============================================"
|
|
echo ""
|
|
echo "部署包: web/$TAR_NAME"
|
|
echo "大小: $(du -h "$TAR_NAME" | cut -f1)"
|
|
echo "内容: 前端文件 + nginx.conf.example"
|
|
echo ""
|
|
echo "【部署步骤】"
|
|
echo " 1. 上传到服务器: scp $TAR_NAME user@server:/opt/filesystem/"
|
|
echo " 2. 解压: mkdir -p /opt/filesystem/frontend && tar -xzf $TAR_NAME -C /opt/filesystem/frontend/"
|
|
echo " 3. 复制 Nginx 配置: cp /opt/filesystem/frontend/nginx.conf.example /etc/nginx/conf.d/filesystem.conf"
|
|
echo " 4. 修改配置: vi /etc/nginx/conf.d/filesystem.conf (改 server_name、路径等)"
|
|
echo " 5. 重启 Nginx: nginx -t && systemctl reload nginx"
|
|
echo ""
|