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 可能还是给纯前端用的, 只能说一般般,没啥惊喜。 |