Hexo 自动构建 - 基于 flow.ci 和 Coding

编者按:本文转载自 flow.ci 用户 @Ethan-城子 ,原文链接在这里


写在前面

昨天完成了基于Github和TravisCI的自动构建,但是国内访问这两个站速度还是会差一些的,现在国内有跟Github同功能的Coding以及跟TravisCI同功能的 flow.ci ,相比较而言配置过程更简单,构建和访问速度更快捷。

概述

1.创建Coding私有仓库(新建非Pages仓库或者在Pages仓库下建一个新的分支;因为是源码,包含git私钥,所以建议用私有仓库)
2.使用Coding账号授权登陆flow.ci
3.配置flow.ci
4.手动构建进行测试
5.本地push代码到Coding博客源码仓库,查看自动构建情况

创建Coding私有仓库

1.登录Coding;
2.点击左上角头像,出现所有项目之后,点击“+”创建新的项目;

创建新的项目

flow.ci授权和配置

1.进入flow.ci,点击免费注册,然后登录;
2.登入后会有两个Demo项目,右上角找到创建任务按钮;
3.选择代码仓库选择Coding;

目前支持Github、Bitbucket、Coding、Gitlab,但是为什么选择Coding而非Github?是因为Coding的私有仓库是免费创建的,而Github私有库需要$50,23333~~

4.选择 Coding 账号授权,并选择源代码仓库;
5.成功的话,下一个页面应该是这样子的:

创建新的工作流

6.选择Node.js默认模板:

创建Node.js模板

7.之后进入版本选择页面,我选的是最新的v6.6.0版本,点击创建

配置工作流1

这里push如果是独立的源码仓库可以选择所有分支或者正则匹配指定master分支; 如果是Pages仓库的master之外的源码分支,请选择正则匹配然后选择相应的源码分支。 这里也能配置定时任务,很方便,根据自己博客更新频率设置定是构建任务!

8.创建自定义脚本:在安装工作流后面添加自定义工作流模块,可将测试模块删除,因为没什么用,当然你也可以不删除。

配置工作流2

9.配置自定义脚本,添加如下脚本:

# 安装Hexo命令行工具
flow_cmd "npm install hexo-cli -g" --echo  
# 安装自动生成sitemap插件
flow_cmd "npm install hexo-generator-sitemap --save" --echo  
flow_cmd "npm install hexo-generator-baidu-sitemap --save" --echo

# 准备并安装私钥
flow_cmd "cp .ssh/id_rsa ." --echo  
flow_cmd "chmod 600 ./id_rsa" --echo  
flow_cmd "eval $(ssh-agent)" --echo  
flow_cmd "ssh-add ./id_rsa" --echo

# 执行Hexo生成和发布

flow_cmd "hexo clean" --echo  
flow_cmd "hexo g" --echo  
flow_cmd "hexo d" --echo  
flow_result $?  

10.至此 flow.ci 配置完成,此时如果点击手动构建是不行的,因为Coding源码仓还没有代码!

关联本地仓库(博客源码文件夹)和Coding源码仓库;

  1. 本地进入博客源码文件夹,打开Git Bash,执行:
git init    # 初始化

git remote add origin https://git.coding.net/yourname/blog.git    # 关联远程仓库

git pull origin master    # 如果这里你是单独仓库直接Pull master分支,如果不是请指定分支

git add .

git commit -am "First Commit!"

git push origin master  

开启自动构建

如果顺利的话你的博客已经开始在 flow.ci 上自动构建了!失败了回邮件到你的注册邮箱的!

原文地址>>


以上是 「flow.ci 最佳实践」系列之 @Ethan-城子 的使用分享,希望对你有用。

flow.ci

Meng

尺度中蕴含本质