• 如何整合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

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

    名词解释:

    JIRA - 优秀的缺陷(bug)跟踪管理软件(Issue Tracker);
    Confluence - 专业的(wiki)企业知识管理与协作软件;
    Bamboo - 持续集成构建服务器软件(Build Server);
    Crowd
    - 单点登录认证(SSO)应用软件;
    Clover - 强大并可高度配置的代码覆盖分析工具(Test with Confidence);
    Crucible - 有效的代码评审工具(Efficient Code Review);
    FishEye - 源代码深度察看工具(Source Code Repository Insight).

    JIRA在线演示: http://www.fangwai.net:8080/
    Confluence在线演示: http://www.fangwai.net:8081/
    FishEye+Crucible在线演示http://www.fangwai.net:8060/

     

    摘自:

    http://digitalsonic.iteye.com/blog/1095060

  • 相关阅读:
    git 配置免密上传,配置ssh key
    spring @value 为什么没有获取到值
    idea 下maven 导入本地jar,以及导入之后 java不能引用问题
    在git远程仓创建项目之后,提交本地项目的使用方法
    mysql 查询数据库参数命令
    spring Existing transaction found for transaction marked with propagation 'never' 解决
    nginx for ubuntu
    spring中for循环中事务
    面向接口编程详解(一)——思想基础
    实战MEF(5):导出元数据
  • 原文地址:https://www.cnblogs.com/haoliansheng/p/2185796.html
Copyright © 2020-2023  润新知