管理一个 Zola 博客是一件令人愉快的事情,但手动构建和部署博客的步骤可能会随着时间的推移变得繁琐。在本文中,我们将探讨如何利用 GitHub Actions 来完全自动化 Zola 博客的构建和部署过程。这种方法消除了手动干预的需要,使得工作流程更加高效且无错误。
当前工作流程的挑战
之前,管理 Zola 博客的工作流程包括以下步骤:
- 在
www.polly.com
仓库中修改博客内容或配置。 - 本地运行
zola build
生成public
文件夹中的静态文件。 - 手动将
public
文件夹的内容复制到polly2014.github.io
仓库。 - 将更改推送到 GitHub,从而触发 GitHub Pages 部署。
虽然这种工作流程可以正常工作,但它耗时且容易出错,尤其是忘记构建或推送更改时。
为什么选择 GitHub Actions?
GitHub Actions 是一个强大的 CI/CD 工具,允许直接在 GitHub 仓库中自动化任务。使用 GitHub Actions,可以:
- 自动化构建和部署过程。
- 确保部署管道的一致性。
- 节省时间并减少人为错误的风险。
GitHub Pages 与 GitHub Actions 的对比
特性 | GitHub Pages | GitHub Actions |
---|---|---|
自动化程度 | 需要手动构建和推送 | 完全自动化 |
灵活性 | 仅支持静态文件部署 | 支持复杂的构建和部署逻辑 |
适用场景 | 简单的静态网站 | 需要频繁更新或复杂流程的项目 |
集成能力 | 无法轻松集成其他工具 | 可集成测试、代码检查等工具 |
学习成本 | 低 | 需要编写和配置 Workflow 文件 |
如果博客更新频率较低且不需要复杂的构建流程,GitHub Pages 是一个简单的选择。但如果希望提高效率并减少手动操作,GitHub Actions 是更好的选择。
使用 GitHub Actions 设置 Zola 自动化部署
以下是设置 GitHub Actions 自动化部署 Zola 博客的步骤。
第一步:创建 Workflow 文件
在 www.polly.com
仓库中,创建一个新文件 .github/workflows/deploy.yml
,内容如下:
name: Deploy Zola Blog
on:
push:
branches:
- main # 监听 main 分支的提交
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Source Code
uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Install Zola
run: |
curl -sSf https://sh.rustup.rs | sh -s -- -y
export PATH="$HOME/.cargo/bin:$PATH"
cargo install zola
- name: Build Zola Site
run: zola build
- name: Deploy to polly2014.github.io
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
external_repository: polly2014/polly2014.github.io
publish_branch: main
第二步:Workflow 的关键点
触发条件:
- Workflow 在每次推送到
main
分支时触发。
- Workflow 在每次推送到
安装 Zola:
- 使用 Rust 的包管理工具
cargo
安装 Zola。
- 使用 Rust 的包管理工具
构建站点:
- 运行
zola build
命令生成public
文件夹中的静态文件。
- 运行
部署:
- 使用
peaceiris/actions-gh-pages
Action 将public
文件夹的内容部署到polly2014.github.io
仓库。
- 使用
第三步:测试 Workflow
提交 Workflow 文件后,对博客进行更改并推送到 main
分支。GitHub Actions 将自动:
- 检出源代码。
- 安装 Zola。
- 构建站点。
- 将生成的文件部署到
polly2014.github.io
仓库。
可以在仓库的 Actions 标签中监控 Workflow 的进度。
新工作流程的优势
- 自动化:无需手动构建和复制文件。
- 一致性:确保每次部署过程都相同。
- 高效性:节省时间并减少错误风险。
结论
通过将GitHub Actions集成到Zola博客工作流程中,可以实现完全自动化的构建和部署管道。这不仅简化了工作流程,还让你能够专注于真正重要的事情——创作优质内容。
如果还没有尝试过 GitHub Actions,现在正是探索其功能并将您的 Zola 博客提升到新水平的最佳时机!