1. 使用技术
- Hexo
- Coding CI
- Github
2. 背景
好久没更新内容了,最近打算重新写点东西,然后研究了一下文章发布流程,原来写博客需要本地有hexo环境,编写文章之后编译、发布到Github pages。
看了一下现在比较流行的方案,大都依托于各大厂商提供的CI工具,我博客原来的源码就放在Coding上(起初Github还没有私有仓库)于是研究了一下使用Coding 的CI工具
3. 基础镜像
因为流水线构建会启动一个环境镜像在内部拉取代码并进行构建,所以我先尝试了使用Coding自带的Node镜像环境添加构建命令安装Hexo并执行构建
反复修改构建命令后最终可以构建完成了,但最后在执行hexo d
发布时失败了
Hexo config配置中配置的发布github仓库地址使用ssh方式,我将对应的id_rsa放到代码仓库里再构建命令中将他copy到~/.ssh
目录下,修改文件权限后发布依然失败。
考虑到每次构建过程中安装hexo也浪费时间,干脆直接自己打了个镜像在里面弄好权限及hexo环境当做基础镜像使用
基础镜像基于nodejs:14 运行后进入容器,执行如下命令
1 |
|