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