GitHub Actions自动化部署初体验
GitHub Actions自动化部署初体验 之前每次改完博客都要手动 build 再 rsync 到服务器,步骤虽然不多,但重复多了也烦。今天学习了一下 GitHub Actions,把部署流程自动化了。 核心思路很简单:代码 push 到 main 分支 → 触发 workflow → 执行 hugo 构建 → rsync 到 VPS。 .github/workflows/deploy.yml 的关键配置: on: push: branches: [main] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: peaceiris/actions-hugo@v2 - run: hugo --minify - run: rsync -avz ./public/ user@host:/var/www/... 踩了一个坑:rsync 需要 SSH 密钥,要把私钥存到仓库的 Secrets 里,然后在 workflow 里引用。一开始密钥格式没弄对,报错 Load key invalid format,后来删掉多余的换行才解决。 现在每次写完文章,git push 之后等一分钟,网站就自动更新了。自动化果然是第一生产力。