返回

自动部署:GitHub Actions 简化 Docusaurus 部署流程

开发工具

引言

Docusaurus 是一个开源的文档网站生成器,它可以帮助我们轻松创建美观且易于维护的文档网站。它通常用于构建技术文档、API 文档、产品文档等。为了让我们的文档网站能够在互联网上被访问到,我们需要将其部署到一个网络服务器上。

目前,Docusaurus 提供了多种部署方式,其中一种就是使用 GitHub Pages。GitHub Pages 是一个托管静态网站的平台,它可以让我们免费地将我们的静态网站部署到互联网上。

手动部署

如果我们想将 Docusaurus 项目部署到 GitHub Pages 上,我们可以通过以下步骤进行手动部署:

  1. 将 Docusaurus 项目构建为静态网站。
  2. 将构建好的静态网站复制到 GitHub Pages 的仓库中。
  3. 设置 GitHub Pages 的自定义域名。

自动部署

手动部署虽然简单,但是它需要我们每次都手动执行上述步骤,很麻烦。为了简化这个过程,我们可以利用 GitHub Actions 来实现自动部署。

GitHub Actions 是一个持续集成和持续交付 (CI/CD) 工具,它可以让我们在 GitHub 上创建和运行自动化工作流。利用 GitHub Actions,我们可以创建一个自动部署的工作流,当我们的 Docusaurus 项目发生更改时,这个工作流就会自动触发,并执行部署任务。

如何使用 GitHub Actions 实现自动部署?

  1. 创建一个 GitHub Actions 工作流文件。
  2. 在工作流文件中定义部署任务。
  3. 在 GitHub 仓库中启用 GitHub Actions。

工作流文件

工作流文件是 GitHub Actions 工作流的配置文件,它定义了工作流的触发条件、执行的任务以及任务的顺序。

一个简单的 Docusaurus 自动部署工作流文件如下所示:

name: Deploy Docusaurus to GitHub Pages

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Install Node.js
        uses: actions/setup-node@v2
        with:
          node-version: '16'

      - name: Install Docusaurus
        run: npm install -g docusaurus-cli

      - name: Build Docusaurus
        run: npm run build

      - name: Deploy to GitHub Pages
        uses: JamesIves/github-pages-deploy-action@v4
        with:
          branch: gh-pages
          folder: build

工作流任务

工作流任务是工作流中执行的具体操作。在上述工作流文件中,我们定义了以下任务:

  • checkout :克隆 GitHub 仓库。
  • Install Node.js :安装 Node.js。
  • Install Docusaurus :安装 Docusaurus。
  • Build Docusaurus :构建 Docusaurus 项目。
  • Deploy to GitHub Pages :将构建好的静态网站部署到 GitHub Pages。

启用 GitHub Actions

在 GitHub 仓库中启用 GitHub Actions 后,当我们的 Docusaurus 项目发生更改时,工作流就会自动触发,并执行部署任务。

结语

利用 GitHub Actions,我们可以轻松实现 Docusaurus 项目的自动部署,无需手动操作,提升工作效率。这种方法特别适合那些经常更新文档网站的项目。