Atlassian的东西相信大家都不陌生,知道Confluence的有木有,用过JIRA的有木有,虽然说这些产品都要收费,不过对于学校和开源组织都可以申请免费License,也可以申请试用。
前段时间为了方便做CodeReview,尝试了一下FishEye+Crucible的组合,FishEye 可以方便地查看代码,而Crucible 则是进行CodeReview的利器。因为同属Atlassian,它们又可以与JIRA进行整合,在JIRA中管理项目Issue,根据ID关联代码变更及CodeReview。
如何搭建这些系统就不多说了,网上教程很多,FishEye+Crucible有整合好的安装包,可以独立运行,JIRA需要另外安装。Atlassian的官方网站上推荐使用Standalone安装包,如果选择WAR/EAR方式,官方不支持将多个产品安装到同一个Tomcat中 。我选择的安装方案如下:
在“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”。
进入“Adminstration”界面,在“Application Links”中添加一个新的链接,直接输入JIRA的地址按照提示操作即可。
FishEye最好能用新版本的,据说老版本在索引代码库时有点问题,占用的存储空间会比较大。
开始之前,当然是要在JIRA、FishEye中建立对应的项目,几位关键角色都要在这些系统上有自己的账号。FishEye上可以先对代码库进行初始化扫描,这样哪怕不做CodeReview,看看代码也是好的。
创建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 ,不然就关联不上了。
参考文档:
(查看官方文档时请注意使用的软件版本)