如何整合JIRA、FishEye、Crucible进行CodeReview

Atlassian的东西相信大家都不陌生,知道Confluence的有木有,用过JIRA的有木有,虽然说这些产品都要收费,不过对于学校和开源组织都可以申请免费License,也可以申请试用。

 

前段时间为了方便做CodeReview,尝试了一下FishEye+Crucible的组合,FishEye 可以方便地查看代码,而Crucible 则是进行CodeReview的利器。因为同属Atlassian,它们又可以与JIRA进行整合,在JIRA中管理项目Issue,根据ID关联代码变更及CodeReview。

1. 系统配置

如何搭建这些系统就不多说了,网上教程很多,FishEye+Crucible有整合好的安装包,可以独立运行,JIRA需要另外安装。Atlassian的官方网站上推荐使用Standalone安装包,如果选择WAR/EAR方式,官方不支持将多个产品安装到同一个Tomcat中 。我选择的安装方案如下:

  • FishEye+Crucible 2.4.3整合独立安装包,例如http://digitalsonic.net:8060
  • JIRA 4.2部署于Tomcat容器中,例如http://digitalsonic.net(资源有限,这个Tomcat上还部署了Hudson和Sonar)
  • 所有数据库统一放在MySQL中(默认的数据库方案是不能适用于正式场景的)

1.1 JIRA端配置

在“JIRA Administration”的“FishEye Configuration”中,配置上FishEye的地址http://digitalsonic.net:8060,开启Wiki Render和Crucible集成;在“Repository Mappings”中配置FishEye的代码库与JIRA项目之间的映射关系,这样才能在两者之间进行跳转;最后,在“Trusted Applications”配置受信任的应用程序,同样填上FishEye的地址,按照指示操作就行了。

 

开启“Global Settings”中的“Sub-Tasks”功能,以及“General Configuration”中的“Accept remote API calls”和“Allow unassigned issues”。

1.2 FishEye、Crucible端配置

进入“Adminstration”界面,在“Application Links”中添加一个新的链接,直接输入JIRA的地址按照提示操作即可。

FishEye最好能用新版本的,据说老版本在索引代码库时有点问题,占用的存储空间会比较大。

2. 开始Review

开始之前,当然是要在JIRA、FishEye中建立对应的项目,几位关键角色都要在这些系统上有自己的账号。FishEye上可以先对代码库进行初始化扫描,这样哪怕不做CodeReview,看看代码也是好的。

 

创建CodeReview,这里有两种方式:

  1. 在Crucible的界面中点击“Create Review”
  2. 在JIRA的某个ISSUE页面中,进入“Source”标签页,点击“Create crucible review”(这么做的好处是可以直接针对一个ISSUE变更的所有代码创建CodeReview)

如果选择前者,需要在后续的对话框中选择项目,以及CodeReview内容,这里有几种方式,建议选择前3种——浏览变更集(Browse Changesets)、查看代码库(Explore Repositories)、查找文件,我用的比较多的是浏览变更集,其中根据代码库、分支等内容选择CodeReview范围。

 

点击“Done”之后可以编辑本次Review的明细内容,选择Author和Reviewers,可以是同一个人,但最好还是不要自己Review自己,在Edit Review Detail的界面里还可以关联Issue,设定目标,设定有效期等等。

 

开始Review后,可以在左侧选中变更的文件,查看变更内容,在需要添加Review说明的代码上点击一下就能输入文本了。每个Reviewer都可以独立进行Review,分别完成自己的工作,自己“Complete”就行了。

 

待所有人都完成了各自的Review后,就可以总结并关闭本次Review。点击“Summarize”后输入总结,如果确认没什么需要补充的评论了,直接“Close Review”即可,不然就“Continue Without Close”。这里和JIRA一样,Reivew关闭后,也可以做Reopen。

 

建议在几个系统中同一人的用户名都能统一,并且与SVN中的用户名也能一直,这样查看时会比较方便。另外,为了能关联SVN的变更与JIRA中的Issue,要在提交代码时在注释里填写Issue ID ,不然就关联不上了。

 

 

参考文档:

  1. Integrating JIRA with FishEye
  2. JIRA Integration in FishEye
  3. Crucible User's Guide

(查看官方文档时请注意使用的软件版本)

 

你可能感兴趣的:(其他)