Phabricator集成Jenkins实现自动化构建

phabricator-jenkins-plugin

phabricator-jenkins-plugin是Uber开发的让Phabricator支持通过Jenkins进行自动化构建的工具,通过引入该工具,我们可以很容易实现如下相关功能:

  • 提交代码评审之后自动触发构建测试,并且把构建测试结果附加到评审单子里面;
  • 代码通过arc land命令合并并推送到远程分支之后,可以自动触发项目构建,特别的,如果项目是jar包项目,可以在Jenkins构建的Job中添加deploy到私服的步骤;

整体流程如下:

其中HeraldPhabricator提供的一个应用,这个应用里面可以配置各种动作节点的触发规则,如果与触发规则匹配,则执行该应用里面配置的动作。 HarbormasterPhabricator的构建工具,可以通过这个工具向第三方构建工具如Jenkins发起构建请求。 发起评审触发点:如上图,在通过arc diff发起代码评审的时候,会触发Herald配置的规则: 规则触发动作:Differential Revisions(审查动作)

1
2
3
4
5
6
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,详细规则:

1
2
3
4
5
6
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代码的单子添加构建说明:

arthinking wechat
欢迎关注itzhai公众号,欢迎关注itzhai公众号,获取更多最新的文章