[ 用户投稿 ]使用 flow.ci 自动部署 Hexo

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


认识 flow.ci

之前的一篇博文中曾写过使用 Travis CI 自动部署 Hexo,而这里的 flow.ci 和 Travis CI 其实也差不多的东西 --- 持续集成工具,并且且 flow.ci 被称为国内的 Travis CI,不过目前内测中,相信不久就会正式发布,祝愿它越走越远,超越 Travis CI。
关于 flow.ci 的更多介绍,大家可以去官方博客了解更多,此处引用官网主页对于 flow.ci 的介绍。

融入 Workflow 机制的持续集成,让代码在 Build, Test, Deploy 间轻盈灵动

配置步骤

目前在网上能够找到使用 flow.ci 自动部署 Hexo 的详细教程只有 Juglans' Blog 博客作者的那一篇,但是作者提供的方法中把 id_rsa 私钥文件放在博客源码中,这在 Coding.net 私有库中确实没有问题,但对于我这样同时把源码托管在 GitHub 上的人来说是很危险的(购买了GitHub私有库的小伙伴请自动回避),所以我并没有按照作者的方式配置 flow.ci ,下面是我的详细配置。

注册 flow.ci

这是必要步骤,没有 flow.ci 账号后面的操作是无法进行的,有兴趣的小伙伴可以去 flow.ci 官网申请内测以获取邀请码。

flow.ci
flow.ci

创建项目

在 flow.ci 拉取仓库源码,创建相应的项目进行自动部署,flow.ci 做的很人性化,过程都是傻瓜式操作。具体的按照下面的顺序操作即可:
创建项目 -> 选择代码源 -> 选择用户 -> 选择仓库 -> 创建工作流 -> 选择脚本模板

创建项目
创建项目

中间过程很简单,就不一一截图了。

选择模板
选择模板

设置触发器

设置自动部署触发器,因为我是把源代码放在放在分支 hexo 中,博客静态文件放在分支 master 中,所以我选设置为 push hexo 时触发。

触发器
触发器

配置工作流

配置工作流,这里我们把 测试 部分删掉,然后加上 自定义脚本

自定义脚本
自定义脚本

脚本参考代码如下

# 安装Hexo命令行工具
flow_cmd "npm install hexo-cli -g" --echo

# 执行Hexo生成
flow_cmd "hexo clean" --echo
flow_cmd "hexo g" --echo

# 执行Hexo推送,这里没有使用 hexo d,因为没有权限
flow_cmd "cd ./public" --echo
flow_cmd "git init" --echo
flow_cmd "git config user.name "your name" " --echo  #修改name
flow_cmd "git config user.email "your email" " --echo  #修改email
flow_cmd "git add ." --echo
flow_cmd "git commit -m "site update" " --echo
flow_cmd "git push --force --quiet "git@git.coding.net:your name/reponame.git" master:master" --echo # 修改repo

配置 Token

我们创建项目后,flow.ci 会自动在 Coding.net 中添加部署公钥,但是这个公钥只有只读权限,用于拉取(git clone)仓库代码,并没有推送权限。

flow.ci
flow.ci

所以现在我们把它删除,重新添加这个公钥,并勾选推送功能,这样这个公钥就拥有了推送回 Coding.net 的权限了,提高了安全性。

coding.net
coding.net

测试

配置完后可以手动创建来测试一下是否成功,如不成功可以查看构建日志来查找不成功的原因。

手动创建
手动创建

总结

本文介绍了 flow.ci 自动部署 Hexo 的过程,并且不存在私钥原文保存在代码库的安全性问题。这样一来我们就只需要写好博文,向 Coding.net 源码库 git push 剩下的工作就全交给 flow.ci 来完成,并且即便是更换电脑不必像以前还要配置 hexo 。

DONE!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容