自动部署:GitHub Actions 简化 Docusaurus 部署流程
2023-09-29 22:16:08
引言
Docusaurus 是一个开源的文档网站生成器,它可以帮助我们轻松创建美观且易于维护的文档网站。它通常用于构建技术文档、API 文档、产品文档等。为了让我们的文档网站能够在互联网上被访问到,我们需要将其部署到一个网络服务器上。
目前,Docusaurus 提供了多种部署方式,其中一种就是使用 GitHub Pages。GitHub Pages 是一个托管静态网站的平台,它可以让我们免费地将我们的静态网站部署到互联网上。
手动部署
如果我们想将 Docusaurus 项目部署到 GitHub Pages 上,我们可以通过以下步骤进行手动部署:
- 将 Docusaurus 项目构建为静态网站。
- 将构建好的静态网站复制到 GitHub Pages 的仓库中。
- 设置 GitHub Pages 的自定义域名。
自动部署
手动部署虽然简单,但是它需要我们每次都手动执行上述步骤,很麻烦。为了简化这个过程,我们可以利用 GitHub Actions 来实现自动部署。
GitHub Actions 是一个持续集成和持续交付 (CI/CD) 工具,它可以让我们在 GitHub 上创建和运行自动化工作流。利用 GitHub Actions,我们可以创建一个自动部署的工作流,当我们的 Docusaurus 项目发生更改时,这个工作流就会自动触发,并执行部署任务。
如何使用 GitHub Actions 实现自动部署?
- 创建一个 GitHub Actions 工作流文件。
- 在工作流文件中定义部署任务。
- 在 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 项目的自动部署,无需手动操作,提升工作效率。这种方法特别适合那些经常更新文档网站的项目。