name: Deploy on Merge on: pull_request: types: [closed] branches: [main] jobs: deploy: # 关键:只在PR被成功merge时运行 if: github.event.pull_request.merged == true runs-on: linux steps: # 第一步:部署到Web服务器 - name: Deploy to web server run: | echo "=== Deploying to web server ===" echo "[INFO] Removing Old file..." rm -rf /var/www/docs_dev/* echo "[INFO] Copying new file..." cp -r /home/ly0kos/work/test_env/build/* /var/www/docs_dev/ echo "✓ Documentation deployed to /var/www/docs_dev/" # 验证部署 echo "Web server contents:" ls -la /var/www/docs_dev/ | head -10 # 第二步:清理临时工作树 - name: Cleanup temporary worktree run: | echo "=== Cleaning up ===" cd /home/ly0kos/work/test_env # 移除工作树 if [ -d /home/ly0kos/work/test_env/build ]; then git worktree remove /home/ly0kos/work/test_env/build --force echo "✓ Temporary worktree removed" else echo "Build worktree already removed" fi echo "=== Process completed successfully ==="