Github Action自动化部署静态页面
VitePress、Github Pages自动化部署
接上篇博客《VitePress、Github Pages搭建博客网站》,本篇博客我们通过Github的Action实现提交代码自动化部署,不用每次自己打包,再上传到项目中这么麻烦了。首选在Github中创建一个空白的分支,这里我们要把打包好的代码放到这个分支中,比如,这里我创建的是blog-pages分支,Github会把打包好的前端文件放到blog-pages这个分支中,同时我们需要修改Github Pages项目,访问的页面指向blog-pages分支的根目录下面,这里的操作没有什么技术含量不再做赘述,下面我把workflow文件贴出来,重点说明一下
# name 可以自定义
name: Deploy GitHub Pages
# 触发条件:在 push 到 main/master 分支后,新的 Github 项目 应该都是 main,而之前的项目一般都是 master
on:
push:
branches:
- main
# 任务
jobs:
build-and-deploy:
# 服务器环境:最新版 Ubuntu
runs-on: ubuntu-latest
steps:
# 拉取代码
- name: Checkout
uses: actions/checkout@v3
with:
persist-credentials: false
# 生成静态文件
- name: Install and Build
run: |
npm ci
npm run build
# 部署到 GitHub Pages
- name: Deploy
uses: JamesIves/github-pages-deploy-action@v4
with:
token: ${{ secrets.ACCESS_TOKEN }} # 也就是我们刚才生成的 secret
branch: blog-pages # 部署到 blog-pages 分支,因为 main 分支存放的一般是源码,而 blog-pages 分支则用来存放生成的静态文件
folder: .vitepress/dist # github 打包生成静态文件的目录,action复制此目录的文件到blog-pages分支
填坑
参数已经在代码中做了说明,几乎不需要修改就可以使用,但是最需要注意的一项是Deploy这一步,FOLDER参数一定要选对,一定要是Github打包生成静态文件的目录,要不然会部署失败的,本地可以先打包看下项目生成的静态文件位置,一般在Github上也是这个位置。我们也可以在Github中创建2个项目,一个是存放我们源代码的地方,一个是配置Github Pages页面的仓库,这个可以做到源码和静态文件分离,别人也不会影响到你写的内容,配置的时候参考JamesIves/github-pages-deploy-action说明文档。