2026/04/18 工程实践
这套博客是如何自动部署的
内容全部保存在仓库里,提交到 main 分支后,由 GitHub Actions 自动构建并发布到 GitHub Pages。
这套博客的部署链路并不复杂,但我很喜欢它的确定性。
整体流程#
每次我把内容推送到 main 分支,GitHub Actions 会自动触发工作流,大致经过下面三个阶段:
- 拉取仓库代码
- 安装依赖并构建静态站点
- 把构建产物部署到 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
部署自动化真正节省的,不是几分钟手工操作,而是让整个发布流程更稳定、更少出错。
文章标签
Comments
评论
欢迎留下你的看法,也欢迎补充不同视角。