1 前言
没错,我又开始倒腾了。
之前用Quartz
搭建Obsidian
静态网站感觉还不错,但就是每次发布都需要手动部署太麻烦了。于是想利用什么方式自动化构建发布。
2 方案
最终我选择Obsidian
+Quartz
+Github Action
+OSS
的方式。
Obsidian
:obsidian.md负责撰写构建知识图谱Quartz
:jackyzha0/quartz: 🌱 a fast, batteries-included static-site generator that transforms Markdown content into fully functional websites (github.com)负责打包构建静态页面Github Action
:负责执行Quartz
的打包,并分发到OSS
上OSS
:这里我用的阿里云对象存储,负责静态页面的展示 先放一个效果:王政乔 (zhengqiao.wang)
3 步骤
首先需要先使用Quartz
构建Obsidian
静态网站,可以先阅读使用Quartz构建Obsidian静态网站。
接下来的部分参考了一篇基于Hugo
的Github Action
文章:Hugo自动化部署(GitHub→阿里云) (fookwood.com),并做了适配修改。
3.1 创建Github Action
在Github
中创建代码仓库,修改添加Secrets:
- OSS_BUCKET: Bucket的名称
- OSS_ENDPOINT: Bucket的Endpoint
- OSS_ACCESS_KEY_ID: AccessKey的ID
- OSS_ACCESS_KEY_SECRET: AccessKey的Secret
然后将quartz
的代码全部移入仓库。
在代码仓库下创建.github/workflows/publish_to_aliyun_oss.yml
文件,内容为:
然后上传到Github
的自己的仓库,可以看到Github Action
开始工作了:
等到构建完成后,可以看到对象存储里已经有文件了:
最终。我们可以通过域名访问了:王政乔 (zhengqiao.wang)。
我们需要发布时,只需要将quartz
提交代码即可,顺带备份了~