# 说明
将vuepress博客的本地构建过程转移到github-actions中,同时支持将构建结果自动部署到gitee上,且可以自动更新gitee pages。
使用此action后你将不再需要关心博客构建的问题,只需要在本地将文档写好后,push到仓库。剩下的构建以及部署交给,github actions就好了。
既节省了本地空间,又减少了操作步骤。
# 使用 github actions
如果你是第一次使用此工具可以参考官方介绍github-actions,也可以参考阮一峰-GitHub Actions 入门教程
# 完整actions代码
此处假设你已经掌握了github actions的基本使用方法,如果你不清楚如何使用已下代码请参看上面关于如何使用github actions的内容。下面会对代码内部的参数做详细的介绍
name: A TO A:GH_PAGES
on: [push]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Build and Deploy
uses: jenkey2011/vuepress-deploy@master
env:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
# 你要操作的目标仓库
TARGET_REPO: linzowo/linzowo.github.io
# 构建结果存储的分支
TARGET_BRANCH: gh_pages
# 要使用的构建命令
BUILD_SCRIPT: yarn && yarn build
# 构建结果存储目录
BUILD_DIR: docs/.vuepress/dist/
sync:
needs: build-and-deploy
runs-on: ubuntu-latest
steps:
- name: Sync to Gitee
uses: wearerequired/git-mirror-action@master
env:
SSH_PRIVATE_KEY: ${{ secrets.GITEE_RSA_PRIVATE_KEY }}
with:
# 来源仓库
source-repo: "git@github.com:linzowo/linzowo.github.io.git"
# 目标仓库
destination-repo: "git@gitee.com:linzowo/linzowo.git"
reload-pages:
needs: sync
runs-on: ubuntu-latest
steps:
- name: reload
uses: mizuka-wu/gitee-pages-action@v1.0.0
with:
repository: linzowo/linzowo
cookie: ${{ secrets.GITEE_COOKIE }}
branch: gh_pages
# 针对每个job的单独说明
# vuepress自动构建及github page部署:build-and-deploy
此actions来源vuepress-deploy,如果在配置中有不清楚的部分可以参考该项目的文档。下面将对其中模糊的部分进行说明。
关键词 | 说明 |
---|---|
secrets. | 在项目的设置中有一个Secrets选项下面可以存储一些常用值,这些值在actions中可以访问 |
secrets.ACCESS_TOKEN | 此secrets下存储的是你账户的token ===> token创建步骤:点击你的头像 > Settings > Developer settings > Personal access tokens > Generate new token. 权限至少要勾选repo ,不清楚的,直接无脑全选就行~ 问题不大,不要慌。 ===> 创建完成后将生成的token保存下来,在项目secrets下创建ACCESS_TOKEN将你生成的token存入其中就好了 |
# 同步githubpage至giteepage:sync
此actions来源Git Mirror Action,如果在配置中有不清楚的部分可以参考该项目的文档。下面将对其中模糊的部分进行说明。
关键词 | 说明 |
---|---|
secrets. | 在项目的设置中有一个Secrets选项下面可以存储一些常用值,这些值在actions中可以访问 |
secrets.GITEE_RSA_PRIVATE_KEY | 此secrets下存储的是你常用电脑的ssh私钥 ===> 如果你不知道如何生成ssh,参考此教程生成 SSH 公钥,生成对应的ssh公钥后。进入.ssh文件夹中获取id_rsa文件(注意此处的id_rsa文件是无后缀的)中的值。将此值存入GITEE_RSA_PRIVATE_KEY即可。 ===> 完成这一步后我们需要去gitee上存储对应的公钥 ===> 进入gitee ==> 点击头像 ==> 点击设置 ==> 找到安全设置 ==> 找到ssh公钥 ==> 获取.ssh文件夹中id_rsa.pub文件中的值。使用此值添加到账户的公钥中 |
# giteepage自动部署:reload-pages
这个actions是为了解决giteepage仓库更新后不能自动部署的问题。此actions来源gitee-pages-action,如果在配置中有不清楚的部分可以参考该项目的文档。下面将对其中模糊的部分进行说明。
关键词 | 说明 |
---|---|
secrets. | 在项目的设置中有一个Secrets选项下面可以存储一些常用值,这些值在actions中可以访问 |
secrets.GITEE_COOKIE | 此secrets下存储的是你已经登录gitee后更新pages的时候那个rebuild请求中的值。具体操作步骤我已经在gitee-pages-action做了详细记录。可以参考其进行配置 |
# 鸣谢
感谢您的阅读,如果此文档对您有所帮助,我也十分高兴。
同时感谢一下开源作者的贡献