這些可能和別的項目沒什么區別,但AS7的質控流程不只自動化到這種程度,它在所有的“連接環節”也是自動化的。這些環節包括:
Github中有Patch提交過來時,自動執行項目測試。
Jira中的Bug報告與Github中的Patch相關聯。
有了這兩點,則從代碼提交,到測試,到Bug跟蹤記錄的過程便全聯系在一起了,中間環節不需人工干預。
看下Github與項目測試之間的連接,具體看下AS7的這個Patch提交請求:
https://github.com/jbossas/jboss-as/pull/1676
注意到這兩條日志:
可以看到在github中有jboss-as-pull-request這個用戶將這個Patch與AS7的Jenkins測試服務器中的代碼進行了合并,并觸發執行了測試工作:
http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/as7-param-pull/
jboss-as-pull-request這個用戶實際上是機器人,用于定時查找提交給AS7的Patch,執行合并測試工作并終給出測試結 果。上面的地址是AS7的Jenkins測試服務器所在位置,僅能從github上面看到鏈接但無法從外網訪問。因此我將服務器的運行情況截圖如下:
有關Jenkins的使用方法,本文不準備展開講解,有興趣可看此篇文章: 《基于Jenkins的持續集成》
接下來我們看看github上面的代碼流程是如何和Jira結合在一起的。試著打開一個AS7的Bug Report看看:
https://issues.jboss.org/browse/AS7-1476?page=com.atlassian.jira.plugin.system.issuetabpanels:changehistory-tabpanel#issue-tabs
看到有這樣一欄:
Github的Pull Reqest與Bug Report連系在了一起。這是通過JIRA與Github之間的插件完成的。下面是JIRA與Github之間相聯系的流程,在Jira中進行了定制實現:
通過Jira中的Link Pull Request,將代碼與Bug管理聯系在了一起。