使用 CodePipeline 进行 Hexo 文章自动发表

前言

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

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

注册帐号

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

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

CodePipeline 上新建项目

进入codepipeline
开通 CodePipeline

创建新项目
创建新项目。

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

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

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

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

set -x;
npm install hexo --save;
npm install hexo-generator-archive --save;
npm install hexo-generator-category --save;
npm install hexo-generator-index --save;
npm install hexo-generator-tag --save;
npm install hexo-generator-sitemap --save;
npm install hexo-generator-baidu-sitemap --save;
npm install hexo-renderer-ejs --save;
npm install hexo-renderer-marked --save;
npm install hexo-renderer-stylus --save;
npm install hexo-deployer-git --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 都要花费十几二十分钟,如果是在本机操作,是很浪费时间的。

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

发表评论

邮箱地址不会被公开。 必填项已用*标注

Captcha Code