GitHub Actions: 实现Zola博客的自动化部署

管理一个 Zola 博客是一件令人愉快的事情,但手动构建和部署博客的步骤可能会随着时间的推移变得繁琐。在本文中,我们将探讨如何利用 GitHub Actions 来完全自动化 Zola 博客的构建和部署过程。这种方法消除了手动干预的需要,使得工作流程更加高效且无错误。

当前工作流程的挑战

之前,管理 Zola 博客的工作流程包括以下步骤:

  1. www.polly.com 仓库中修改博客内容或配置。
  2. 本地运行 zola build 生成 public 文件夹中的静态文件。
  3. 手动将 public 文件夹的内容复制到 polly2014.github.io 仓库。
  4. 将更改推送到 GitHub,从而触发 GitHub Pages 部署。

虽然这种工作流程可以正常工作,但它耗时且容易出错,尤其是忘记构建或推送更改时。

为什么选择 GitHub Actions?

GitHub Actions 是一个强大的 CI/CD 工具,允许直接在 GitHub 仓库中自动化任务。使用 GitHub Actions,可以:

  • 自动化构建和部署过程。
  • 确保部署管道的一致性。
  • 节省时间并减少人为错误的风险。

GitHub Pages 与 GitHub Actions 的对比

特性GitHub PagesGitHub 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 的关键点

  1. 触发条件

    • Workflow 在每次推送到 main 分支时触发。
  2. 安装 Zola

    • 使用 Rust 的包管理工具 cargo 安装 Zola。
  3. 构建站点

    • 运行 zola build 命令生成 public 文件夹中的静态文件。
  4. 部署

    • 使用 peaceiris/actions-gh-pages Action 将 public 文件夹的内容部署到 polly2014.github.io 仓库。

第三步:测试 Workflow

提交 Workflow 文件后,对博客进行更改并推送到 main 分支。GitHub Actions 将自动:

  1. 检出源代码。
  2. 安装 Zola。
  3. 构建站点。
  4. 将生成的文件部署到 polly2014.github.io 仓库。

可以在仓库的 Actions 标签中监控 Workflow 的进度。

新工作流程的优势

  • 自动化:无需手动构建和复制文件。
  • 一致性:确保每次部署过程都相同。
  • 高效性:节省时间并减少错误风险。

结论

通过将GitHub Actions集成到Zola博客工作流程中,可以实现完全自动化的构建和部署管道。这不仅简化了工作流程,还让你能够专注于真正重要的事情——创作优质内容。

如果还没有尝试过 GitHub Actions,现在正是探索其功能并将您的 Zola 博客提升到新水平的最佳时机!

留言与讨论