简介

群友“竹林里有冰”的Blog有一个部署方案,如下:
我的博客部署方案

开始码GitHub Actions代码

如果不想写的话可以借鉴:
[^1] PILIHU2022.github.io/Actions
[^2] 竹林里有冰的代码
[^1]: 我的Github Blog是直接部署到GitHub,所以省略了竹林里有冰的一些代码,可看注释掉的代码
[^2]: 这是竹林里有冰的代码,部署到VPS中

安装Node.js

由于GitHub Actions没法使用Ubuntu的apt包管,所以只能使用actions/nodejs,使用@来指定版本,我这里指定的是version 3中的Node.js 21版本,代码中的actions/checkout只用于切换到该仓库;

安装相关依赖

你需要将你本地仓库中的package.json添加到GitHub仓库中,代码中是这样的:

1
2
3
4
- name: Install Dependencies
run:
npm install; # 分号不可省略,否则将会被识别成一条命令
npm update # 更新安装的软件(Hexo等)

为每个文件重新设定最后修改时间

这一步其实是挺重要的,Hexo框架生成每篇文章的最后修改时间的依据是该文件的最后修改时间,而对于 Github Action 的容器来说,每一个文件都刚刚被下载下来,都是最新的,这就会导致你的每一篇文章每次部署时都会被认为刚才修改过。
我们这边可以直接使用 git 记录的时间来作为文件的最后修改时间。

设置时区

Blog基本都是用来给自己看的
所以时区当然要设置成中国标准时间(东八区)
使用

1
export = TZ='Asia/Shanghai'

生成网页

1
yarn build

如果不需要部署到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