分享 集成 Hubot 和 Hudson CI -- Intridea 中文博客

poshboytl · 2011年12月19日 · 最后由 poshboytl 回复于 2013年12月17日 · 8135 次阅读

首先隆重给 Intridea 中文 blog 打个广告。 http://cn.intridea.com/

前段时间由于种种原因暂时被 block 了一段时间,现在已经恢复更新。

刚刚发了一篇 集成 "Hubot 和 Hudson CI",大家多多捧场...

http://cn.intridea.com/2011/12/integrate-hubot-with-hudson-ci/

本来想用 hubot 部署项目的,仔细研究了一下 hubot 部署相关的 API 和代码都是闭源的.....

#1 楼 @geekontheway 这个应该还是要有一套部署的方案,hubot 只是去触发,并且解析结果返回

#2 楼 @doitian 是啊,github 的方案是用 hubot 调用他自己写的部署脚本 api,通过 capistrano 实现的部署

#3 楼 @geekontheway 我也正在弄这个来自动部署 cn.intridea.com,让 github 的 service hook 发到的 irc channel,hubot 收到 github 的消息就开始 deploy。bot 本地 clone 个 repo,保持 deploy 脚本的更新,然后跑 cap,看看能不能利用下 cap 的部分代码来更新 bot 的 git repo

#4 楼 @doitian 是已经实现了这个功能吗?hubot 是怎么接受 github 的 service hook 的?hubot 又是怎样去部署的?

#5 楼 @geekontheway 用了个简单的 thor task https://github.com/intridea-east/capistrano-bot 先用 capistrano clone 到 bot 所在服务器,然后在 clone 的 repo 里再执行 cap,两遍 cap,bot 的 pubkey 要加到要部署的服务器的 authorized_keys 里去

#5 楼 @geekontheway IRC 的 adapter 默认不监听房间里不是发给自己的消息,自己 hack 的一下。不过也可以用 xmpp adapter,自己写个 web server adapter 来触发,都可以。这是我们用的 deploy hubot script

#7 楼 @doitian Very thanks,我们用的是 Campfire adapter,我先看看

还是打不开?

国外能访问吗,我也打不开。

挂了 SSH 代理也打不开啊。

被墙了。。。

#6 楼 @doitian 我不知道这个 capsitrano-bot 是怎么用的。能私聊一下吗?方便加我扣扣咯 819086136

#15 楼 @yinxiaomei 简单点说就是 bot 听到让她部署的话,她先 git clone 到本地,check out 出来相关的 branch, cd 进行后运行 cap deploy。第一次用了 cap 是为了偷懒,用了 cap 的 cache 模式,不用每次重新 clone。是也完全自己写脚本,如果没 clone 过就重新 clone,有 clone 过只需要 fetch 一下。

#17 楼 @perfectfoolish 那个是很老的文章了... intridea 中文 blog 似乎也没维护了。这里有个备份: http://terrytai.com/integrated-hubot-and-hudson-ci/

需要 登录 后方可回复, 如果你还没有账号请 注册新账号