工程实践

这套博客是如何自动部署的

· 工程实践
Max AI 专属导读

文章 AI 总结

用更短的路径抓住本文重点

  • 使用GitHub Actions监听main分支推送,自动完成Astro构建并部署至GitHub Pages
  • 发布新文章只需本地执行pnpm new-post后推送,构建与部署全程自动化处理
  • 无服务器进程需要维护,部署日志集中可见,代码与内容版本历史完整可追溯
  • 更换域名时需检查astro.config.mjs、public/CNAME及Pages Source三项配置一致性
  • 自动化部署节省的并非操作时间,而是通过消除手动步骤降低流程出错概率

这套博客的部署链路并不复杂,但我很喜欢它的确定性。

整体流程#

每次我把内容推送到 main 分支,GitHub Actions 会自动触发工作流,大致经过下面三个阶段:

  1. 拉取仓库代码
  2. 安装依赖并构建静态站点
  3. 把构建产物部署到 GitHub Pages

工作流做了什么#

部署文件放在 .github/workflows/deploy.yml,核心思路很简单:

name: Deploy to GitHub Pages

on:
  push:
    branches:
      - main
  workflow_dispatch:

后面的 build job 会调用 Astro 官方提供的 Action,自动完成依赖安装、构建和产物上传。deploy job 再把这些产物发布到 Pages。

为什么我喜欢这种方式#

这套流程很适合内容站点:

  • 没有服务器进程需要维护
  • 内容和代码都在仓库里,有完整历史
  • 失败时定位问题也很直接,去 Actions 看日志就行

发布一篇文章时,我实际要做什么#

说到底,真正需要操作的只有这些:

pnpm new-post "新文章标题"
git add .
git commit -m "feat: publish new post"
git push origin main

剩下的交给工作流处理。

最后检查项#

每次切换域名或修改站点配置时,我会顺手确认下面几项:

  • astro.config.mjs 里的 site 是否正确
  • public/CNAME 是否与自定义域名一致
  • GitHub Pages 的 Source 是否选择 GitHub Actions

部署自动化真正节省的,不是几分钟手工操作,而是让整个发布流程更稳定、更少出错。

这套博客是如何自动部署的

https://maxs.eu.org/posts/n8w4c2r7t5yv.html
本文作者
马小酷
发布于
更新于
版权协议
CC BY-NC-SA 4.0

转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!

Comments

评论

欢迎留下你的看法,也欢迎补充不同视角。