push 一下就自动构建上线,比手动 scp 稳。Actions 把构建与部署串成流水线。

示例配置

# .github/workflows/deploy.yml
- name: Deploy
  run: |
    rsync -avz ./dist/ user@server:/var/www/site/
    ssh user@server "systemctl reload nginx"
  env:
    SSH_KEY: ${{ secrets.DEPLOY_KEY }}

要点速览

  • 构建产物用 rsync 增量传,省时。
  • 密钥走 secrets,别硬编码在 yaml 里。
  • 部署完 reload 服务,让新内容生效。
CI 的价值不是「能部署」,而是「每次部署都一样可靠」。