分享 搭建属于自己的 Travis Pro 服务

loveky · 2013年12月06日 · 最后由 loveky 回复于 2013年12月16日 · 4166 次阅读

最近尝试为小伙伴们搭建一个持续集成环境,由于使用了 GitHub 的 private repo,所以 travis 的免费版本就不能用了。于是自己利用 Jenkins 自己搭了一个,使用效果跟 travis 差不多。搭建过程记录成文。

http://loveky.github.io/2013/12/06/travis-pro/

好用,但是一直看的 jenkins 的日至输出,而且 ci 在内网, 痛。。

用 pull request 那个插件是不是所有 pull requests 的 build 都在一个任务里?这样任务历史会比较混乱吧。

之前用的是 http://entagen.github.io/jenkins-build-per-branch/ 会用一个 job 作为模板,为每个 branch 创建个新的 job。不过就是 PR 的状态要自己用 API 在 build script 里设置下

#2 楼 @doitian

用 pull request 那个插件是不是所有 pull requests 的 build 都在一个任务里?

是的,但是每个 build 的 title 都有 PR 的 titile 和对应的 ID,看起来不算太糟糕

#1 楼 @small_fish__

build 成功的时候不用追着看 console 吧。。。 CI 在内网不影响啊,只要你们用的是 GitHub 存代码。

赞! 有个小问题,比如提了一个 pr from feature to develop,develop 本身是 fail 的情况,这个 pr 自然就 fail, 如果 develop 后面 merge 了新的 pr,pass 了, 之前的 pr 里的 feature 必须要 merge develop 以后才会重新跑一边,而不会自动根据 develop 的更新启动,还是稍微有点麻烦。

#5 楼 @xmonkeycn

有个小问题,比如提了一个 pr from feature to develop,develop 本身是 fail 的情况,这个 pr 自然就 fail,

develop 理论上将不应该是 fail 的,导致 develop failed 的那个 pr 不该被 merge 进来。退一步讲,如果 develop 已然 fail 了,那么应该第一时间找到相关 developer 停下手中工作去修复这个 bug

#6 楼 @loveky 同意这个逻辑... 做一个有节操的程序员!不能 fail 啊。

#7 楼 @xmonkeycn 提交到 GitHub 之前要现在本地跑一遍 rspec,否则心里没底啊 -,-

#5 楼 @xmonkeycn

之前的 pr 里的 feature 必须要 merge develop 以后才会重新跑一边

在原来的 PR 里回复内容 retest this please 会通知 jenkins 重新 build 一次

赞,挺好的,毕竟 Travis 太贵了

不错哦,能和 GitLab 结合吗?

#11 楼 @imlcl Gitlab 还没玩过,暂时不清楚 -,- 不过原理很简单,如果需要的话,其实可以自己做一个

Private repo 可以试试 wercker,目前是免费的

#13 楼 @nevill 还是头回听说这家,感谢分享

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