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(审查动作)
When all of these conditions are met:
Repository projects include any of 支付组
Take these actions every time this rule matches:
Run build plans: Plan 3 提交代码审查触发自动化构建测试.
规则的执行动作是调用Harbormaster向Jenkins发起构建测试请求,在构建测试完成之后,会把构建结果附加到审查单子中,效果如图:
提交代码审查触发点:在审查通过把代码推送到Phabricator
代码仓库的时候,会触发Herald
配置的规则:
规则触发动作:Commit,详细规则:
When all of these conditions are met:
Repository projects include any of 支付组
Take these actions every time this rule matches:
Run build plans: Plan 2 提交代码触发自动化构建.
如果推送的仓库是属于支付组的,则向Jenkins发起构建请求,构建完成之后,会向Commit代码的单子添加构建说明: