前言

之前在 《Wordpress 转 Hexo 历程》 中介绍过 + + Runner + Pages 的自动发布 Hexo 文章的方案。但这个方案有两个难点:一是没接触过 Gitlab + Runner 的人,学习起来会比较吃力;二是需要一台独立的主机进行发布操作。

后来在使用阿里云 code (改自 Gitlab )的过程中,发现阿里云提供了一套 CodePipeline (改自 Jenkins )的持续集成方案,而且提供免费编译环境。如此,我们就可以使用 Hexo + Github + Jenkins + Github Pages 方案,搭建免费的自动发布环境。

注册帐号

在阿里云 code 上注册一个帐号,并将 Hexo 源码提交到上面。

具体步骤就不说了,都是用过 GitHub 的人了,这些应该没难度,实在不懂的,再单独留言问吧。😄

上新建项目

开通 CodePipeline

创建新项目。

填写项目名称,并选择 构建一个自由风格的软件项目 ,然后下一步。

选择构建类型为 nodejs构建环境 ,源码管理选择 Aliyun Code 并选择你上传 Hexo 源码的项目。(如果没把源码放到阿里 code 的,也可以选择最后一个进行自定义设置。)

选择构建触发器,并生成触发器地址(以后只要访问到这个地址,就会触发构建)。

点击构建步骤,选择 执行Shell脚本 ,将如下内容填入:

set -x;
 install hexo --save;
 install hexo-generator-archive --save;
 install hexo-generator-category --save;
 install hexo-generator-index --save;
 install hexo-generator-tag --save;
 install hexo-generator-sitemap --save;
 install hexo-generator-baidu-sitemap --save;
 install hexo-renderer-ejs --save;
 install hexo-renderer-marked --save;
 install hexo-renderer-stylus --save;
 install hexo-deployer- --save;
npm install hexo-wordcount --save;
npm install hexo-generator-searchdb --save;
npm install hexo-generator-feed --save;
npm list;
node_modules/hexo/bin/hexo g -d;

# 如有自定义组件需要安装的,需自行添加命令。
# 如果忘记安装了哪些插件,可到下面这个文件查找:
# package.json

由于阿里云提供的免费发布环境会自动清空前一次发布的所有内容,所以需要将 Hexo 安装到发布的所有命令都填入。

可选择 构建后操作 以便构建失败时能有邮件通知。

提交后就可以成功创建一个 CodePipeline 项目了。

文章发布

创建完 CodePipeline 后,就可以在阿里 code 上提交文章,然后使用之前创建的 远程触发器 来触发自动发布,也可以到 CodePipeline 上面手动触发。

总结

大家都知道 hexo -g 是很耗资源和时间的一项工作,在老旧笔记本上更甚。若可以将这项工作交给第三方,不但可以使文章发布更加效率,还可以使文章发布支持更多的平台。

比如,在老旧的笔记本,或者平板,甚至手机上提交文章,访问触发链接,剩下的就可以交给 CodePipeline 了。尤其是后期文章量大了之后,每次 hexo -g 都要花费十几二十分钟,如果是在本机操作,是很浪费时间的。

最后,希望这篇教程能对大家有所帮助。