phabricator-jenkins-plugin
phabricator-jenkins-plugin是Uber开发的让Phabricator支持通过Jenkins进行自动化构建的工具,通过引入该工具,我们可以很容易实现如下相关功能:
- 提交代码评审之后自动触发构建测试,并且把构建测试结果附加到评审单子里面;
- 代码通过
arc land
命令合并并推送到远程分支之后,可以自动触发项目构建,特别的,如果项目是jar包项目,可以在Jenkins构建的Job中添加deploy到私服的步骤;
整体流程如下:
其中Herald
是Phabricator
提供的一个应用,这个应用里面可以配置各种动作节点的触发规则,如果与触发规则匹配,则执行该应用里面配置的动作。 Harbormaster
是Phabricator
的构建工具,可以通过这个工具向第三方构建工具如Jenkins发起构建请求。 发起评审触发点:如上图,在通过arc diff
发起代码评审的时候,会触发Herald配置的规则: 规则触发动作:Differential Revisions(审查动作)
1 | When all of these conditions are met: |
规则的执行动作是调用Harbormaster向Jenkins发起构建测试请求,在构建测试完成之后,会把构建结果附加到审查单子中,效果如图: 提交代码审查触发点:在审查通过把代码推送到Phabricator
代码仓库的时候,会触发Herald
配置的规则: 规则触发动作:Commit,详细规则:
1 | When all of these conditions are met: |
如果推送的仓库是属于支付组的,则向Jenkins发起构建请求,构建完成之后,会向Commit代码的单子添加构建说明: