| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #!/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
|