实现自动更新Blog(actions-Gh-Page)
简介
群友“竹林里有冰”的Blog有一个部署方案,如下: 我的博客部署方案
开始码GitHub Actions代码
如果不想写的话可以借鉴: 1 PILIHU2022.github.io/Actions 2 竹林里有冰的代码
安装Node.js
由于GitHub Actions没法使用Ubuntu的apt包管,所以只能使用actions/nodejs
,使用@来指定版本,我这里指定的是version 3中的Node.js 21版本,代码中的actions/checkout
只用于切换到该仓库;
安装相关依赖
你需要将你本地仓库中的package.json添加到GitHub仓库中,代码中是这样的:
|
|
为每个文件重新设定最后修改时间
这一步其实是挺重要的,Hexo框架生成每篇文章的最后修改时间的依据是该文件的最后修改时间,而对于 Github Action 的容器来说,每一个文件都刚刚被下载下来,都是最新的,这就会导致你的每一篇文章每次部署时都会被认为刚才修改过。 我们这边可以直接使用 git 记录的时间来作为文件的最后修改时间。
设置时区
Blog基本都是用来给自己看的
所以时区当然要设置成中国标准时间(东八区)
使用
|
|
生成网页
|
|
如果不需要部署到VPS的到此处就可以了
以下是使用GitHub Pages来更新Blog(该段未完成)
若想部署到VPS,参考部署到VPS
Q:为什么我已经将GitHub Actions搞定了,且将博文上传至GitHub仓库了,但是没有更新,GitHub Actions也没有报错 A:请检查你的GitHub Pages设置(位置在Settings > Pages)中的“Build and deployment”,在source中选择Deploy from a branch
将Blog部署到VPS
我懒得写,而且没有VPS,所以就直接引用竹林里有冰的内容
初始化 Github Action 容器上的 ssh 私钥应当在 Github 仓库的设置里先新建一个 secret,填入自己的 ssh 私钥(更加标准的做法应当是为 github action 专门生成一对 ssh 密钥,将公钥上传到自己的 vps,将私钥上传到 Github 仓库的 secret 中)。
我这边直接从点墨阁那边抄了点代码直接用。 使用 hexo 的 deploy 插件调用 rsync 将静态文件上传到自己服务器的对应目录(static server 你应当已经设置好了)
1
yarn deploy