当开发人员向 GitHub 的 master 分支提交 pull request 时,为了确保代码没有bug,可以先运行写好的 unit test 用例,没有问题时开发人员再进行 review 并 merge 到 master 分支。如果是手动拉代码到本地进行测试,那就太麻烦了而且效率太低。通过Jenkins,可以很方便的实现pull request时自动触发构建、测试代码,极大的提高工作效率。下面简单介绍一下配置步骤。
一、安装插件
首先安装GitHub Pull Request Builder Plugin 插件,然后在 jenkins > 系统管理 > 系统设置 > GitHub Pull Request Builder 如下配置
注意:由于我用的是企业版github, GitHub Server API URL处如上图配置,不是企业版的话,则配置为https://api.github.com 。
接下里单击下方的Connect to API按钮,填写Repository name后单击Check repo permissions按钮来验证用户github的权限
二、配置jenkins任务
1.配置项目地址
2.配置git仓库
Name填写 origin 或者空着也可以
Refspec填写 +refs/pull/*:refs/remotes/origin/pr/*
Branch Specifier填写 ${sha1},如果想要用到提交的pr,则这个地方填写 ${ghprbActualCommit}
3.配置构建节点
三、配置Github
1.配置GitHub仓库的Webhook
2.添加Personal access tokens
依次打开 settings > Developer settings > Personal access tokens, 点击 Generate new token 生成 token,
同时勾选下图中的选项。
3.将上一步生成的token添加到Jenkins中。password处填写上面步骤中生成的token值。
上面的配置完成后,当GitHub收到pull request时就会触发Jenkins自动构建。