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 的价值不是「能部署」,而是「每次部署都一样可靠」。