347 字
1 分钟
GitHub Actions 实战:为 Jekyll 博客搭建自动化质量检查流水线
很多个人博客只有“能发布”,但缺少“发布前自动验收”。 当文章多起来后,死链、Front Matter 错误、构建失败会频繁出现。
这篇教程给你一个轻量 CI:每次 Push/PR 自动做三件事。
目标
- 校验 Markdown 基本规范
- 检查站内链接可用性
- 执行 Jekyll 构建,确保可发布
1. 新建工作流
创建 .github/workflows/blog-quality.yml:
name: Blog Quality
on: push: branches: ["master", "main"] pull_request:
jobs: check: runs-on: ubuntu-latest
steps: - name: Checkout uses: actions/checkout@v4
- name: Setup Ruby uses: ruby/setup-ruby@v1 with: bundler-cache: true
- name: Install Node uses: actions/setup-node@v4 with: node-version: "20"
- name: Install markdownlint run: npm i -g markdownlint-cli
- name: Lint markdown run: markdownlint "**/*.md" --ignore node_modules
- name: Build Jekyll run: bundle exec jekyll build2. 死链检查(可选但推荐)
可加 lychee:
- name: Link check uses: lycheeverse/lychee-action@v2 with: args: --verbose --no-progress "./**/*.md" "./_site/**/*.html"如果外链较多,建议白名单忽略偶发超时域名,避免误报。
3. 分支保护
在仓库设置中启用 Branch Protection:
- 要求 PR 必须通过
Blog Quality - 禁止直接 push 到主分支
这一步能显著降低“手滑上线坏内容”的概率。
常见报错与排查
bundler: command not found: jekyll:Gem 依赖没装全,先bundle install。Front Matter语法错误:检查---是否成对、缩进是否一致。- 死链误报:先本地
curl -I验证,再加入忽略列表。
总结
高质量博客的关键不是写得快,而是“每次发布都稳定”。 把 CI 建起来后,你可以把精力放在内容上,而不是线上排错。
延伸阅读
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
GitHub Actions 实战:为 Jekyll 博客搭建自动化质量检查流水线
https://levifree.dpdns.org/posts/github-actions-blog-ci-cd/ 部分信息可能已经过时
相关文章 智能推荐
1
Jekyll 博客内容质量清单:发布前 15 分钟自检模板
Jekyll 把“写完就发”升级为“可复用资产”:覆盖可读性、SEO、可信度和合规
2
Jekyll SEO 技术优化清单:从可抓取到可排名的实战配置
Jekyll Sitemap、结构化数据、Canonical 与内容聚合页,给个人博客一套可执行的 SEO 基线
3
Jekyll 构建报错排查手册:10 个最常见错误与修复步骤
Jekyll 从 Front Matter、依赖冲突到端口占用,给博客维护者一份可复制的故障处理流程
4
技术博客如何维护旧文章:用版本、验证日期和失效处理保住内容可信度
内容运营 旧教程不会自动过期,但会自动失去可信度;这套维护流程帮助你优先更新真正影响读者的页面
5
Astro 本地预览验收清单:发布前用 15 分钟发现导航、资源与交互问题
Astro 一份适用于静态博客的小型回归流程,覆盖构建诊断、关键入口、动态筛选和资源加载


