Github Actions + Hexo + Github Page 搭建博客

2019-10-16 05:42:37 +08:00
 waterlaw

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

6648 次点击
所在节点    分享发现
21 条回复
waterlaw
2019-10-16 06:10:59 +08:00
之前用 hexo 改完 md 都要 deploy, 现在 deploy 动作由 github action 来完成, 新建公有项目会看到多了 Actions 哦, 今天刚更新的😊。
loading
2019-10-16 07:43:15 +08:00
周末看看,谢谢
quqiuzhu
2019-10-16 07:53:28 +08:00
travis 一直是免费的,github actions 可以用,但有收费风险
orzorzorzorz
2019-10-16 07:58:28 +08:00
这还要手动 push 到 dev 才行,不如加上 schedule 定时触发
https://github.com/orzyyyy/memo/blob/master/.github/workflows/deploy.yml
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
asiaon123
2019-10-16 08:05:33 +08:00
兄得,这种没有营养的东西不要发出来了
waterlaw
2019-10-16 08:19:40 +08:00
@orzorzorzorz 是 github page 更新前会把就的删了,action 其实就是 docker 容器而已。
waterlaw
2019-10-16 08:25:03 +08:00
docker 的 entrypoint.sh 脚本会先将原有文件 git rm
vsitebon
2019-10-16 08:46:40 +08:00
@asiaon123 相比起同页面的其它某些主题,这个反而显得比较有营养了
MonoLogueChi
2019-10-16 08:55:17 +08:00
gh-pages 分支也可以用于 GitHub Page 啊。还有,.nojekyll 不创建一个吗
thet
2019-10-16 08:57:48 +08:00
我是 actions + hugo +firebase
hawhaw
2019-10-16 08:57:55 +08:00
@asiaon123 这个还好吧,不是那么没有营养的东西
waterlaw
2019-10-16 09:04:26 +08:00
@hawhaw 其实就是 github 在后台帮你 checkout 代码放到 docker 执行, 有点像 docker-compose 有没有,期待很久的功能终于出了(◔◡◔)
bequt
2019-10-16 09:57:37 +08:00
@thet firebase 文档吗? 好像免费一个月 10gb 流量传输
bequt
2019-10-16 09:58:00 +08:00
@thet 稳定么
asiaon123
2019-10-16 10:04:08 +08:00
@vsitebon 这个不能这么比,这种文章都烂大街,还一直发有什么意义
asiaon123
2019-10-16 10:04:32 +08:00
@hawhaw 烂大街的东西多发无益
waterlaw
2019-10-16 10:38:49 +08:00
@asiaon123 hexo 的确烂大街, 服务器到期了,本来想把 django 项目放上去, 使用 python3 自带 sqlite, 但 github 这次出的 action 可能还是给纯前端用的, 只能说一般般,没啥惊喜。
bequt
2019-10-16 10:59:51 +08:00
@waterlaw 自己思考写个发出来好些吧, 用别人的, 套一下就得了, 没什么 action 营养
waterlaw
2019-10-16 11:23:43 +08:00
@bequt github action 就这样, 我已经把文档看完了,docker + 脚本, 可惜是个坑, 想部署有数据库的最好还是买个服务器, 自己用容器, 世界上没有免费的午餐,github 给的也只是简单的 running.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/609744

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX