前言
不知道是第几次捣鼓 Github Pages + Github Actions 了。之前每次都是花了不少时间才成功跑通,今天也不例外,整了好几个小时才跑起来。所以,这次直接记录下来,下次直接 CV 大法。
准备工作
建一个 Github 仓库,也可以随便写点什么,就当测试用。
这里我是准备使用 VitePress 写 Vue3 的源码分析的文章,然后部署到 Github Pages。
创建工作流
关于 Github Actions 的各种概念和知识点咱也不讲了,主要我也不太懂,有兴趣的可以掘金搜下相关的知识点,这里就直接上配置。
在项目根目录新建 .github/workflows
目录,在该目录下新建 deploy.yml
(文件名可以任意起)文件,Github Actions 会自动识别该工作流。
name: Build and Deploy Docs
on: [push]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# 安装 pnpm 包管理工具 (如果用 npm 就不需要这个)
- uses: pnpm/action-setup@v2
with:
version: 8
# 安装依赖和打包
- name: Install and Build
run: pnpm install && pnpm run docs:build
# 部署到 GitHub Pages
- name: Deploy vitepress docs
uses: JamesIves/github-pages-deploy-action@v4
with:
# 要部署的文件夹 (最终会被拷贝到 gh-pages 分支下)
FOLDER: docs/.vitepress/dist
# 部署的分支,默认 gh-pages
BRANCH: gh-pages
配置 Github Pages
新建分支 gh-pages
开启工作流权限,如果不开启,执行工作流会报错。
提交本地代码到 Github 仓库后,会自动执行工作流。
执行成功后,配置 Github Pages。
最后直接访问站点即可。
遇到的问题
站点打开后,静态资源(js, css) 等都是 404,查询后了解到我们的站点并不是部署在根目录下的。比如部署在 w2xi.github.io/vue3/ 下,那么 vitepress 的 base
选项就需要配置为 '/vue3/'
(vitepress-base-url)
重新提交代码,稍等片刻,等自动部署成功后,站点可以正常访问了。
🚀🚀🚀