English | 简体中文
自动构建、部署vuepress
应用到Github Pages,自由设置仓库、分支
电报群: https://t.me/joinchat/Cz9TxNMrjIs3OWQ1
QQ群: 742434216
在你项目仓库.github/workflows
目录下创建一个 .yml
文件,举例:vuepress-deploy.yml
。
内容:
name: Build and Deploy
on: [push]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: vuepress-deploy
uses: jenkey2011/vuepress-deploy@master
env:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
TARGET_REPO: username/repo
TARGET_BRANCH: master
BUILD_SCRIPT: yarn && yarn build
BUILD_DIR: blog/.vuepress/dist/
上述配置的结果是:每次推送代码,将自动构建、部署到username/repo
的master
分支。就是这么简单~
示例代码库: https://github.com/jenkey2011/vuepress-deploy-demo
两个库
- 源码库(
vuepress-deploy-demo
), 我们称为A
- 部署目标代码库(
vuepress-deploy-demo-target
), 我们称为B
共有三种部署情况,配置文件分别如下:
A
TOA:gh_pages
:deploy-to-current-repo-gh_pages.yml
A
TOB:master
:deploy-to-other-repo-master.yml
A
TOB:custom_branch
:deploy-to-other-repo-custom_branch.yml
在这看部署后的效果:
-
流水线编译过程: https://github.com/jenkey2011/vuepress-deploy-demo/actions
-
A
TOA:gh_pages
: https://github.com/jenkey2011/vuepress-deploy-demo/tree/gh_pages -
A
TOB:master
:https://github.com/jenkey2011/vuepress-deploy-demo-target/tree/master -
A
TOB:custom_branch
:https://github.com/jenkey2011/vuepress-deploy-demo-target/tree/custom_branch -
B
仓库Git-page
效果: https://jenkey2011.github.io/vuepress-deploy-demo-target/
如果不了解
github workflow
什么的,看下面的详细教程
参数 | 含义 | 类型 | 是否必须 |
---|---|---|---|
ACCESS_TOKEN |
github的token | secrets |
是 |
TARGET_REPO |
目标仓库,例: jenkey2011/blog 。默认当前仓库 |
env |
否 |
TARGET_BRANCH |
目标仓库的分支,例:gh-pages 。默认 gh-pages |
env |
否 |
TARGET_LINK |
目标仓库的完整链接,会覆盖目标仓库,用于其他平台,例:https://user:${{ secrets.CODING_TOKEN }}@team.coding.net/team/repo.git |
env |
否 |
BUILD_SCRIPT |
构建脚本 例: yarn && yarn build |
env |
是 |
BUILD_DIR |
构建产物的目录 例: blog/.vuepress/dist/ |
env |
是 |
COMMIT_MESSAGE |
自动部署时的提交信息 例: Auto deploy from Github Actions |
env |
否 |
CNAME |
Github Pages 站点别名 | env |
否 |
点击你的头像 > Settings > Developer settings > Personal access tokens > Generate new token (Classic).
权限至少要勾选repo
,不清楚的,直接无脑全选就行~ 问题不大,不要慌。
你的vuepress项目源码仓库下 > Settings > Secrets, 创建ACCESS_TOKEN
, 值就填写你刚才创建的token,确定。
在项目根目录下,创建.github/workflows
,然后再创建一个 .yml
文件,名字随便取,例:vuepress-deploy.yml
。
详细信息: