当前位置: 首页 > news >正文

VuePress部署到GitHub Pages

一、git push自动部署

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

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

name: docson:# 每当 push 到 main 分支时触发部署push:branches: [main]# 手动触发部署workflow_dispatch:jobs:docs:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v4with:# “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录fetch-depth: 0- name: Setup pnpmuses: pnpm/action-setup@v2with:# 选择要使用的 pnpm 版本version: 8# 使用 pnpm 安装依赖run_install: true- name: Setup Node.jsuses: actions/setup-node@v4with:# 选择要使用的 node 版本node-version: 18# 缓存 pnpm 依赖cache: pnpm# 运行构建脚本- name: Build VuePress siterun: pnpm docs:build# 查看 workflow 的文档来获取更多信息# @see https://github.com/crazy-max/ghaction-github-pages- name: Deploy to GitHub Pagesuses: crazy-max/ghaction-github-pages@v4with:# 部署到 gh-pages 分支target_branch: gh-pages# 部署目录为 VuePress 的默认输出目录build_dir: docs/.vuepress/distenv:# @see https://docs.github.com/cn/actions/reference/authentication-in-a-workflow#about-the-github_token-secretGITHUB_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' > CNAMEgit 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-pagescd -
#打开gitbash执行部署脚本
./deploy.sh

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

三、自定义域名

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

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

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

http://www.lryc.cn/news/274239.html

相关文章:

  • git 本地仓库
  • Hive实战:分科汇总求月考平均分
  • 快速搭建知识付费小程序,3分钟即可开启知识变现之旅
  • 【计算机图形学划重点】第一讲-Pipeline and Introduction
  • 面试题-DAG 有向无环图
  • vite + vue3引入ant design vue 报错
  • 使用EasyPoi导入数据并返回失败xls
  • 机械配件移动商城课程概述
  • prometheus-docker 快速安装
  • RabbitMQ 核心概念(交换机、队列、路由键),队列类型等介绍
  • 1001 害死人不偿命的(3n+1)猜想
  • 七、HTML 文本格式化
  • OSI 模型和 TCP/IP 模型的异同
  • 创新性文生视频模型,南洋理工开源FreeInit
  • linux的页缓存page cache
  • 数字IC后端实现之Innovus TA-152错误解析(分频generated clock定义错误)
  • 虹科方案丨从困境到突破:TigoLeap方案引领数据采集与优化变革
  • 自检服务器,无需服务器、不用编程。
  • Java并行流parallelStream()下InheritableThreadLocal引起的问题
  • 【C++期末编程题题库】代码+详解18道
  • 一种DevOpts的实现方式:基于gitlab的CICD(一)
  • nodejs和vuejs的区别
  • 16、Kubernetes核心技术 - 节点选择器、亲和和反亲和
  • 面试算法96:字符串交织
  • 什么是Vue.js的响应式系统(reactivity system)?如何实现数据的双向绑定?
  • 力扣labuladong一刷day52天LRU算法
  • CCNP课程实验-06-EIGRP-Trouble-Shooting
  • 判断完全数-第11届蓝桥杯省赛Python真题精选
  • 【Bootstrap5学习 day12】
  • 算法训练第五十九天|503. 下一个更大元素 II、42. 接雨水