#!/bin/bash # 设置错误时退出 set -e # 配置变量 PROJECT_NAME="tweb-api" PROJECT_DIR="/var/www/$PROJECT_NAME" username="wuyi" password="hXE8ZjQ^Q46V7n" GIT_REPO="https://git.izouma.com/wuyi/tweb-api.git" GIT_REPO_WITH_AUTH="https://${username}:${password}@git.izouma.com/wuyi/tweb-api.git" echo "🚀 开始部署 $PROJECT_NAME..." # 进入项目目录 cd "$PROJECT_DIR" # 设置 Git 远程仓库 URL(包含认证信息) echo "🔧 配置 Git 远程仓库..." git remote set-url origin "$GIT_REPO_WITH_AUTH" # Git 拉取最新代码 echo "📥 拉取最新代码..." git pull origin main # 安装依赖 echo "📦 安装依赖..." yarn install # 构建项目 echo "🔨 构建项目..." yarn build # 复制配置文件 echo "📋 复制配置文件..." cp .env.production dist/.env cp package.json dist/package.json # 检查 PM2 应用是否存在,如果不存在则创建新的 if pm2 list | grep -q "tweb-api"; then echo "🔄 重启现有的 PM2 应用..." pm2 restart tweb-api else echo "🚀 创建新的 PM2 应用..." pm2 start dist/server.js --name tweb-api fi echo "✅ 部署完成!" pm2 status