管理一个 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-pagesAction 将public文件夹的内容部署到polly2014.github.io仓库。
 
- 使用 
第三步:测试 Workflow
提交 Workflow 文件后,对博客进行更改并推送到 main 分支。GitHub Actions 将自动:
- 检出源代码。
- 安装 Zola。
- 构建站点。
- 将生成的文件部署到 polly2014.github.io仓库。
可以在仓库的 Actions 标签中监控 Workflow 的进度。
新工作流程的优势
- 自动化:无需手动构建和复制文件。
- 一致性:确保每次部署过程都相同。
- 高效性:节省时间并减少错误风险。
结论
通过将GitHub Actions集成到Zola博客工作流程中,可以实现完全自动化的构建和部署管道。这不仅简化了工作流程,还让你能够专注于真正重要的事情——创作优质内容。
如果还没有尝试过 GitHub Actions,现在正是探索其功能并将您的 Zola 博客提升到新水平的最佳时机!
