返回

使用 GitHub Actions 实现 Hexo 博客自动化部署

前端

前言

随着博客日益流行,使用像 Hexo 这样的静态网站生成器来创建和管理您的博客网站变得越来越普遍。Hexo 使您可以轻松地从 Markdown 文件生成静态网站,而无需管理服务器或数据库。

但是,如果您想将博客托管在 GitHub Pages 或其他平台上,则需要一种方法来自动部署您的博客更新。在这里,GitHub Actions 发挥作用。GitHub Actions 是一个功能强大的自动化平台,使您可以为各种事件创建自定义工作流程,例如代码推送到 GitHub 仓库时。

设置

要使用 GitHub Actions 为您的 Hexo 博客设置自动化部署,您需要:

  • 一个 GitHub 账户
  • 一个 Hexo 博客
  • 一个 GitHub 仓库来存储您的博客源代码
  • 一个 GitHub Pages 仓库来存储您的博客网站源代码

创建 GitHub Actions 工作流程

  1. 创建 GitHub Actions 工作流程文件。 在您的博客源代码仓库的根目录中,创建一个名为 .github/workflows/deploy.yml 的文件。此文件将包含您的工作流程配置。

  2. 添加工作流程配置。 将以下配置添加到您的工作流程文件中:

name: Deploy Hexo Blog

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 16
      - run: npm install
      - run: npm run generate
      - uses: JamesIves/github-pages-deploy-action@4.1.5
        with:
          branch: gh-pages
          folder: public
          token: ${{ secrets.GITHUB_TOKEN }}
  • name: 工作流程的名称。
  • on: 触发工作流程的事件。在本例中,当将代码推送到 main 分支时,工作流程将被触发。
  • jobs: 工作流程包含的作业。在本例中,只有一个作业名为 deploy
  • runs-on: 作业运行的操作系统。在本例中,作业将在 Ubuntu 最新版本上运行。
  • steps: 作业中执行的步骤。在本例中,步骤包括:
    • actions/checkout@v3: 检出仓库代码。
    • actions/setup-node@v3: 设置 Node.js 环境。
    • npm install: 安装 Node.js 依赖项。
    • npm run generate: 运行 Hexo 的 generate 命令来生成静态网站。
    • JamesIves/github-pages-deploy-action@4.1.5: 部署静态网站到 GitHub Pages。

设置部署密钥

为了使 GitHub Actions 能够部署您的博客,您需要为 GitHub Pages 仓库设置一个部署密钥。

  1. 导航到您的 GitHub Pages 仓库。
  2. 单击“设置”选项卡。
  3. 在“部署密钥”部分,单击“添加部署密钥”。
  4. 在“密钥”字段中,粘贴您的 GitHub 访问令牌。
  5. 在“标题”字段中,输入密钥的标题。
  6. 单击“添加密钥”。

构建和部署您的博客

配置工作流程文件并设置部署密钥后,您可以通过将代码推送到您的博客源代码仓库来构建和部署您的博客。

  1. 提交更改到您的博客源代码仓库。
  2. GitHub Actions 将自动触发并运行工作流程。
  3. 工作流程将生成静态网站并将其部署到您的 GitHub Pages 仓库。

结论

通过使用 GitHub Actions 实现自动化部署,您可以简化 Hexo 博客的管理和维护过程。通过设置工作流程文件和部署密钥,您可以在每次将代码推送到博客源代码仓库时自动构建和部署您的博客,从而节省时间并减少手动部署的麻烦。