deploy.sh 797 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/bin/bash
  2. # 设置错误时退出
  3. set -e
  4. echo "🚀 开始部署 $PROJECT_NAME..."
  5. # 进入项目目录
  6. cd "$PROJECT_DIR"
  7. # Git 拉取最新代码
  8. echo "📥 拉取最新代码..."
  9. git pull origin main
  10. # 安装依赖
  11. echo "📦 安装依赖..."
  12. yarn install
  13. # 构建项目
  14. echo "🔨 构建项目..."
  15. yarn build
  16. # 复制配置文件
  17. echo "📋 复制配置文件..."
  18. cp .env.production dist/.env
  19. cp package.json dist/package.json
  20. # 检查 PM2 应用是否存在,如果不存在则创建新的
  21. if pm2 list | grep -q "tweb-api"; then
  22. echo "🔄 重启现有的 PM2 应用..."
  23. pm2 restart tweb-api
  24. else
  25. echo "🚀 创建新的 PM2 应用..."
  26. pm2 start dist/server.js --name tweb-api
  27. fi
  28. echo "✅ 部署完成!"
  29. pm2 status
  30. echo "🔍 显示日志..."
  31. pm2 logs tweb-api