这些可能和别的项目没什么区别,但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管理联系在了一起。