VuePress部署到GitHub Pages

一、git push自动部署

1、创建用于工作流的文件

在项目根目录下创建一个用于 GitHub Actions 的工作流 .yml 文件

name: docs

on:
  # 每当 push 到 main 分支时触发部署
  push:
    branches: [main]
  # 手动触发部署
  workflow_dispatch:

jobs:
  docs:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4
        with:
          # “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录
          fetch-depth: 0

      - name: Setup pnpm
        uses: pnpm/action-setup@v2
        with:
          # 选择要使用的 pnpm 版本
          version: 8
          # 使用 pnpm 安装依赖
          run_install: true

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          # 选择要使用的 node 版本
          node-version: 18
          # 缓存 pnpm 依赖
          cache: pnpm

      # 运行构建脚本
      - name: Build VuePress site
        run: pnpm docs:build

      # 查看 workflow 的文档来获取更多信息
      # @see https://github.com/crazy-max/ghaction-github-pages
      - name: Deploy to GitHub Pages
        uses: crazy-max/ghaction-github-pages@v4
        with:
          # 部署到 gh-pages 分支
          target_branch: gh-pages
          # 部署目录为 VuePress 的默认输出目录
          build_dir: docs/.vuepress/dist
        env:
          # @see https://docs.github.com/cn/actions/reference/authentication-in-a-workflow#about-the-github_token-secret
          GITHUB_TOKEN: ${
  { secrets.GITHUB_TOKEN }}
2、开放当前仓库的读写权限

因为每个 GitHub 仓库都默认只让 GitHub Actions 读取仓库内容,不允许读写,因此需为 GitHub Actions 开放当前仓库的读写权限,否则无法正常构建 GitHub Pages

点击仓库选项卡 Settings→Actions→General,在 Workflow permissions中选择读写权限 Read and write permissions后,点击保存即可

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

执行 git push 就会自动触发工作流

3、设置部署分支

将vuepress构建后的 src/.vuepress/dist/ 目录 push 到 GitHub 仓库中的 gh-pages 分支(本地仓库没有该分支)

点击仓库选项卡 Settings-Pages 后,进行如下操作:

在这里插入图片描述

二、执行脚本部署

1、项目根目录下新建deploy.sh脚本
#!/usr/bin/env sh

# 确保脚本抛出遇到的错误
set -e

# 生成静态文件
npm run build

# 进入生成的文件夹
cd docs/.vuepress/dist

# 如果是发布到自定义域名
 echo 'doc.frontdoc.cn' > CNAME

git init
git add -A
git commit -m 'deploy'

# 如果发布到 https://<USERNAME>.github.io
# git push -f git@github.com:<USERNAME>/<USERNAME>.github.io.git master

# 如果发布到 https://<USERNAME>.github.io/<REPO>
git push -f git@github.com:305810827/myDocs.git master:gh-pages

cd -
#打开gitbash执行部署脚本
./deploy.sh

这样每次执行deploy脚本后,github的Actions会自动执行部署工作流,页面就会自动更新.

三、自定义域名

自定义域名需要在自己的域名上添加解析

在这里插入图片描述
在这里插入图片描述

部署的vuePress项目代码: https://github.com/305810827/myDocs
访问地址: http://doc.frontdoc.cn/
求点个star支持下,谢谢

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-06 14:06:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-06 14:06:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-06 14:06:03       82 阅读
  4. Python语言-面向对象

    2024-01-06 14:06:03       91 阅读

热门阅读

  1. 读书之深入理解ffmpeg_简单笔记3(初步)

    2024-01-06 14:06:03       54 阅读
  2. @RequestParam,@RequestBody和@PathVariable 区别

    2024-01-06 14:06:03       63 阅读
  3. 网络安全常见漏洞类型总结

    2024-01-06 14:06:03       53 阅读
  4. 【LeetCode】586. 订单最多的客户

    2024-01-06 14:06:03       61 阅读
  5. Redis使用场景(五)

    2024-01-06 14:06:03       76 阅读
  6. vba之与excel司龄计算

    2024-01-06 14:06:03       58 阅读
  7. MySQL 8.0中新增的功能(一)

    2024-01-06 14:06:03       56 阅读
  8. 向爬虫而生---Redis 基石篇2 <拓展Hash>

    2024-01-06 14:06:03       57 阅读
  9. html2canvas+jsPDF导出超长网页的PDF

    2024-01-06 14:06:03       57 阅读
  10. webpack

    2024-01-06 14:06:03       54 阅读
  11. docker-compose部署各个软件

    2024-01-06 14:06:03       46 阅读
  12. Mac开发 app名称 如何国际化

    2024-01-06 14:06:03       49 阅读
  13. 详解Python内置函数 !!!

    2024-01-06 14:06:03       49 阅读