Files

63 lines
1.6 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
echo "🚀 开始部署 Remix 项目..."
# 清理旧的构建文件
echo "🧹 清理旧的构建文件..."
rm -rf build/
rm -rf public/build/
# 安装依赖(确保 dotenv 在生产环境中可用)
echo "📦 安装依赖..."
npm install
# 构建项目
echo "🔨 构建项目..."
npm run build
# 检查 .env 文件是否存在
if [ ! -f .env ]; then
echo "⚠️ 警告: .env 文件不存在!"
echo "请确保 .env 文件包含以下变量:"
echo "NEXT_PUBLIC_API_URL="
echo "NEXT_PUBLIC_APP_ID="
echo "NEXT_PUBLIC_APP_KEY="
echo "JWT_SECRET="
exit 1
fi
# 检查 JWT_SECRET 是否配置
if ! grep -q "^JWT_SECRET=" .env; then
echo "⚠️ 警告: .env 文件中未配置 JWT_SECRET"
echo "JWT_SECRET 用于签名和验证 JWT token,是必需的安全配置。"
echo "请在 .env 文件中添加:"
echo "JWT_SECRET=your-strong-random-secret-key"
echo ""
echo "可以使用以下命令生成强随机密钥:"
echo "npm run generate:jwt-secret"
exit 1
fi
echo "✅ 环境变量检查通过"
# 创建日志目录
mkdir -p logs
# 打包部署文件
echo "📦 打包部署文件..."
tar -czvf docreview-frontend-deploy.tar.gz \
.env \
build/ \
public/build/ \
node_modules/ \
package.json \
package-lock.json \
ecosystem.config.cjs \
logs/
echo "✅ 部署包创建完成: docreview-frontend-deploy.tar.gz"
echo ""
echo "📋 部署说明:"
echo "1. 将 docreview-frontend-deploy.tar.gz 上传到服务器"
echo "2. 解压: tar -xzvf docreview-frontend-deploy.tar.gz"
echo "3. 启动方式: ./node_modules/.bin/pm2 start ecosystem.config.cjs"