這些可能和別的項目沒什么區(qū)別,但AS7的質(zhì)控流程不只自動化到這種程度,它在所有的“連接環(huán)節(jié)”也是自動化的。這些環(huán)節(jié)包括:
Github中有Patch提交過來時,自動執(zhí)行項目測試。
Jira中的Bug報告與Github中的Patch相關(guān)聯(lián)。
有了這兩點,則從代碼提交,到測試,到Bug跟蹤記錄的過程便全聯(lián)系在一起了,中間環(huán)節(jié)不需人工干預(yù)。
看下Github與項目測試之間的連接,具體看下AS7的這個Patch提交請求:
https://github.com/jbossas/jboss-as/pull/1676
注意到這兩條日志:
可以看到在github中有jboss-as-pull-request這個用戶將這個Patch與AS7的Jenkins測試服務(wù)器中的代碼進行了合并,并觸發(fā)執(zhí)行了測試工作:
http://lightning.mw.lab.eng.bos.redhat.com/jenkins/job/as7-param-pull/
jboss-as-pull-request這個用戶實際上是機器人,用于定時查找提交給AS7的Patch,執(zhí)行合并測試工作并終給出測試結(jié) 果。上面的地址是AS7的Jenkins測試服務(wù)器所在位置,僅能從github上面看到鏈接但無法從外網(wǎng)訪問。因此我將服務(wù)器的運行情況截圖如下:
有關(guān)Jenkins的使用方法,本文不準備展開講解,有興趣可看此篇文章: 《基于Jenkins的持續(xù)集成》
接下來我們看看github上面的代碼流程是如何和Jira結(jié)合在一起的。試著打開一個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之間相聯(lián)系的流程,在Jira中進行了定制實現(xiàn):
通過Jira中的Link Pull Request,將代碼與Bug管理聯(lián)系在了一起。