Github Page 只能在 master 分支发布, 且仓库名必须为[用户名]-github.io, 所以 Hexo 配置我放在 dev 分支,github action
定义了一个 workflow, 放在项目的 .github/workflows/nodejs.yml , 使用执行完 yml workflow 流程就会生成到 master 分
支, 执行完脚本的 master 分支就是博客的 html/css/js。
参考 github action https://github.com/JamesIves/github-pages-deploy-action,
我的 blog 配置仓库 https://github.com/water-law/water-law.github.io ,
yml: https://github.com/water-law/water-law.github.io/blob/dev/.github/workflows/nodejs.yml
ps: 记得把 头像->profile->Developer settings->Personal access tokens 复制到项目 settings->Secrets
github action: nodejs.yml 如下
name: GitHub Actions Build and Deploy Demo
on:
push:
branches:
- dev
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Build and Deploy
uses: JamesIves/github-pages-deploy-action@master
env:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
BASE_BRANCH: dev
BRANCH: master
FOLDER: public
BUILD_SCRIPT: npm i -g hexo && npm install && hexo generate
1
waterlaw OP 之前用 hexo 改完 md 都要 deploy, 现在 deploy 动作由 github action 来完成, 新建公有项目会看到多了 Actions 哦, 今天刚更新的😊。
|
2
loading 2019-10-16 07:43:15 +08:00 via Android
周末看看,谢谢
|
3
quqiuzhu 2019-10-16 07:53:28 +08:00 via Android
travis 一直是免费的,github actions 可以用,但有收费风险
|
4
orzorzorzorz 2019-10-16 07:58:28 +08:00
这还要手动 push 到 dev 才行,不如加上 schedule 定时触发
https://github.com/orzyyyy/memo/blob/master/.github/workflows/deploy.yml |
5
orzorzorzorz 2019-10-16 08:03:19 +08:00
1. JamesIves/github-pages-deploy-action 是 rebase 到目标分支的。比如这里的 BRANCH 是 master,这分支上有 1000 个 commit,那就会 rebase master 到 gh-pages,gh-pages 上会多出 1000 个 commit,主页的绿点特别难看。https://github.com/orzyyyy,看看这主页,有两千条 commit 是这 action 产生的。
2. deploy 如果中途报错,这 action 会直接帮你把 gh-pages 这个分支删了,不知道为什么。 所以 deploy 的 action,我推荐用 https://github.com/peaceiris/actions-gh-pages |
6
asiaon123 2019-10-16 08:05:33 +08:00 via Android
兄得,这种没有营养的东西不要发出来了
|
7
waterlaw OP @orzorzorzorz 是 github page 更新前会把就的删了,action 其实就是 docker 容器而已。
|
8
waterlaw OP docker 的 entrypoint.sh 脚本会先将原有文件 git rm
|
10
MonoLogueChi 2019-10-16 08:55:17 +08:00 via Android
gh-pages 分支也可以用于 GitHub Page 啊。还有,.nojekyll 不创建一个吗
|
11
thet 2019-10-16 08:57:48 +08:00 via iPhone
我是 actions + hugo +firebase
|
13
waterlaw OP @hawhaw 其实就是 github 在后台帮你 checkout 代码放到 docker 执行, 有点像 docker-compose 有没有,期待很久的功能终于出了(◔◡◔)
|
18
waterlaw OP @asiaon123 hexo 的确烂大街, 服务器到期了,本来想把 django 项目放上去, 使用 python3 自带 sqlite, 但 github 这次出的 action 可能还是给纯前端用的, 只能说一般般,没啥惊喜。
|