最近尝试为小伙伴们搭建一个持续集成环境,由于使用了 GitHub 的 private repo,所以 travis 的免费版本就不能用了。于是自己利用 Jenkins 自己搭了一个,使用效果跟 travis 差不多。搭建过程记录成文。
用 pull request 那个插件是不是所有 pull requests 的 build 都在一个任务里?这样任务历史会比较混乱吧。
之前用的是 http://entagen.github.io/jenkins-build-per-branch/ 会用一个 job 作为模板,为每个 branch 创建个新的 job。不过就是 PR 的状态要自己用 API 在 build script 里设置下
用 pull request 那个插件是不是所有 pull requests 的 build 都在一个任务里?
是的,但是每个 build 的 title 都有 PR 的 titile 和对应的 ID,看起来不算太糟糕
build 成功的时候不用追着看 console 吧。。。CI 在内网不影响啊,只要你们用的是 GitHub 存代码。
赞! 有个小问题,比如提了一个 pr from feature to develop,develop 本身是 fail 的情况,这个 pr 自然就 fail, 如果 develop 后面 merge 了新的 pr,pass 了, 之前的 pr 里的 feature 必须要 merge develop 以后才会重新跑一边,而不会自动根据 develop 的更新启动,还是稍微有点麻烦。
有个小问题,比如提了一个 pr from feature to develop,develop 本身是 fail 的情况,这个 pr 自然就 fail,
develop 理论上将不应该是 fail 的,导致 develop failed 的那个 pr 不该被 merge 进来。退一步讲,如果 develop 已然 fail 了,那么应该第一时间找到相关 developer 停下手中工作去修复这个 bug
之前的 pr 里的 feature 必须要 merge develop 以后才会重新跑一边
在原来的 PR 里回复内容 retest this please 会通知 jenkins 重新 build 一次