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代碼的單子添加構建說明: