From d2b2a20d4643527abc5fa75900af44dfc6649bc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=95=80=E9=93=AC=E9=85=B8=E9=92=BE?= <148796996+K2cr2O1@users.noreply.github.com> Date: Fri, 23 Jan 2026 01:30:36 +0800 Subject: [PATCH] Update main.yml --- .github/workflows/main.yml | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index acdca86..890b8f6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -104,7 +104,7 @@ jobs: expect -v >/dev/null || { echo "❌ expect安装后不可用"; exit 1; } continue-on-error: false - # ========== 原有步骤:配置SSH密钥(强化错误处理) ========== + # ========== 原有步骤:配置SSH密钥 ========== - name: 配置SSH密钥并启动ssh-agent id: config_ssh run: | @@ -115,20 +115,10 @@ jobs: mkdir -p ~/.ssh chmod 700 ~/.ssh - # 处理私钥换行符问题,验证私钥完整性 + # 处理私钥换行符问题 echo "${{ secrets.KEY }}" | tr -d '\r' > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa - # 验证私钥格式 - if ! head -n 1 ~/.ssh/id_rsa | grep -q "BEGIN"; then - echo "❌ 私钥文件格式错误,未找到BEGIN标记" - exit 1 - fi - if ! tail -n 1 ~/.ssh/id_rsa | grep -q "END"; then - echo "❌ 私钥文件格式错误,未找到END标记" - exit 1 - fi - # 启动ssh-agent并加载私钥 eval $(ssh-agent -s) export SSH_AGENT_PID SSH_AUTH_SOCK @@ -185,7 +175,7 @@ jobs: echo "=== 服务器部署开始($(date))===" # 服务器端也配置清华源(可选,如需在服务器安装pip依赖) - pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple || true + pip3.14 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple || true # 测试sudo权限 echo "${SERVER_PASSWORD}" | sudo -S -k -p '' whoami || { echo "❌ sudo权限验证失败"; exit 1; } @@ -195,17 +185,20 @@ jobs: echo "${SERVER_PASSWORD}" | sudo -S -k -p '' systemctl stop neobot.service || true sleep 2 + # 切换到项目目录 + cd /home/luoxiaolei/neobot/NeoBot || { echo "❌ 项目目录不存在"; exit 1; } + echo "📁 当前目录:$(pwd)" + # 修复文件权限 echo "🔧 修复文件权限..." echo "${SERVER_PASSWORD}" | sudo -S -k -p '' chown -R "${SERVER_USER}":"${SERVER_USER}" /home/luoxiaolei/neobot/NeoBot || { echo "❌ 文件权限修复失败"; exit 1; } - # 拉取代码 - cd /home/luoxiaolei/neobot/NeoBot || { echo "❌ 项目目录不存在"; exit 1; } + # 拉取最新代码 echo "⬇️ 拉取最新代码..." git pull origin main || { echo "❌ 代码拉取失败"; exit 1; } - # 使用pip3.14升级依赖 - echo "📦 使用pip3.14升级项目依赖..." + # 使用pip3.14更新依赖 + echo "📦 使用pip3.14更新项目依赖..." if [ -f "requirements.txt" ]; then echo "📄 发现requirements.txt,使用pip3.14安装/升级依赖..." # 尝试使用pip3.14,如果不存在则使用pip3 @@ -214,8 +207,8 @@ jobs: echo "✅ pip3.14依赖安装完成" else echo "⚠️ pip3.14未找到,尝试使用pip3..." - pip3 install --upgrade -r requirements.txt || { echo "❌ pip3依赖安装失败"; exit 1; } - echo "✅ pip3依赖安装完成" + pip3 install --upgrade -r requirements.txt || { echo "❌ pip3.14依赖安装失败"; exit 1; } + echo "✅ pip3.14依赖安装完成" fi else echo "⚠️ 未找到requirements.txt文件,跳过依赖安装"