wui 6 ماه پیش
والد
کامیت
2473dc4007
1فایلهای تغییر یافته به همراه18 افزوده شده و 11 حذف شده
  1. 18 11
      deploy.sh

+ 18 - 11
deploy.sh

@@ -6,7 +6,10 @@ set -e
 # 配置变量
 PROJECT_NAME="tweb-api"
 PROJECT_DIR="/var/www/$PROJECT_NAME"
-GIT_REPO="https://wuiii@foxmail.com:hXE8ZjQ^Q46V7n@git.izouma.com/wuyi/tweb-api.git"
+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..."
 
@@ -16,7 +19,7 @@ if [ ! -d "$PROJECT_DIR" ]; then
     
     # 克隆项目
     echo "📥 克隆项目到 $PROJECT_DIR..."
-    if git clone "$GIT_REPO" "$PROJECT_DIR"; then
+    if sudo git clone -b main "$GIT_REPO_WITH_AUTH" "$PROJECT_DIR"; then
         echo "✅ 项目克隆成功"
     else
         echo "❌ 项目克隆失败"
@@ -52,9 +55,13 @@ handle_git_operations() {
     # 固定使用 main 分支
     echo "当前分支: main"
     
+    # 临时设置远程 URL 包含认证信息
+    echo "🔐 设置 Git 认证..."
+    sudo git remote set-url origin "$GIT_REPO_WITH_AUTH"
+    
     # 尝试拉取最新代码
     echo "🔄 拉取最新代码..."
-    if git pull origin main; then
+    if sudo git pull origin main; then
         echo "✅ Git 拉取成功"
     else
         echo "❌ Git 拉取失败,请检查网络连接和认证信息"
@@ -74,19 +81,19 @@ handle_git_operations
 
 # 停止现有的 PM2 进程(如果存在)
 echo "📦 停止现有的 PM2 进程..."
-pm2 delete tweb-api 2>/dev/null || echo "没有找到现有的 tweb-api 进程"
+sudo pm2 delete tweb-api 2>/dev/null || echo "没有找到现有的 tweb-api 进程"
 
 # 安装依赖(如果需要)
 echo "📦 检查并安装依赖..."
-yarn install
+sudo yarn install
 
 # 清理旧的构建文件
 echo "🧹 清理旧的构建文件..."
-rm -rf dist
+sudo rm -rf dist
 
 # 构建项目
 echo "🔨 构建项目..."
-yarn build
+sudo yarn build
 
 # 检查构建是否成功
 if [ ! -f "dist/app.js" ]; then
@@ -96,15 +103,15 @@ fi
 
 # 启动 PM2
 echo "🚀 启动 PM2..."
-pm2 start dist/app.js --name tweb-api
+sudo pm2 start dist/app.js --name tweb-api
 
 # 保存 PM2 配置
 echo "💾 保存 PM2 配置..."
-pm2 save
+sudo pm2 save
 
 # 显示状态
 echo "📊 PM2 状态:"
-pm2 status
+sudo pm2 status
 
 echo "✅ 完整部署完成!"
 echo "📁 项目路径: $PROJECT_DIR"
@@ -115,4 +122,4 @@ echo "⏹️ 停止服务:pm2 stop tweb-api"
 # 自动展示日志
 echo ""
 echo "📋 持续显示日志(按 Ctrl+C 退出):"
-pm2 logs tweb-api 
+sudo pm2 logs tweb-api