工程实践
这套博客是如何自动部署的
· 工程实践
Max AI 专属导读
文章 AI 总结
用更短的路径抓住本文重点
- 使用GitHub Actions监听main分支推送,自动完成Astro构建并部署至GitHub Pages
- 发布新文章只需本地执行pnpm new-post后推送,构建与部署全程自动化处理
- 无服务器进程需要维护,部署日志集中可见,代码与内容版本历史完整可追溯
- 更换域名时需检查astro.config.mjs、public/CNAME及Pages Source三项配置一致性
- 自动化部署节省的并非操作时间,而是通过消除手动步骤降低流程出错概率
这套博客的部署链路并不复杂,但我很喜欢它的确定性。
整体流程#
每次我把内容推送到 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
部署自动化真正节省的,不是几分钟手工操作,而是让整个发布流程更稳定、更少出错。
这套博客是如何自动部署的
https://maxs.eu.org/posts/n8w4c2r7t5yv.html- 本文作者
- 马小酷
- 发布于
- 更新于
- 版权协议
- CC BY-NC-SA 4.0
转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!