name: 部署到生产环境 on: push: branches: [ main ] pull_request: branches: [ main ] workflow_dispatch: inputs: reason: description: '手动触发部署的原因' required: false default: '手动部署' jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: 安装依赖工具 run: sudo apt-get install -y sshpass expect - name: 执行部署 run: | sshpass -p "${{ secrets.SERVER_PASSWORD }}" ssh -o StrictHostKeyChecking=no -p 42422 ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_ADDRESS }} 'sudo systemctl stop neobot.service && cd /home/luoxiaolei/neobot/NeoBot && git pull origin main && sudo systemctl start neobot.service' continue-on-error: true - name: 检查部署状态 if: failure() run: | echo "部署失败!请检查服务器日志。" exit 1