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

写在前面

昨天完成了基于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.配置自定义脚本,添加如下脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 安装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,执行:
1
2
3
4
5
6
7
8
9
10
11
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上自动构建了!失败了回邮件到你的注册邮箱的!

原文地址>>

Ethan wechat
欢迎扫一扫关注~
坚持原创技术分享,您的支持将鼓励我继续创作!