Upsource 一个新的代码审查工具(Polyglot code review tool),Upsource安装、配置及使用介绍……

写在前面的话

最近因项目组需要,在寻找一款比较好用的代码审查工具,作为Intellj IDEA重度粉丝,所以优先找的还是能支持Intellij IDEA的工具,正好在JetBrains官网上看到这款Upsource工具,于是打算花了一周时间研究下,于是各种baidu,Google找资料,发现这款工具的中文介绍少之又少,所有就有了这篇文章,此文仅供需要的同仁,如有问题欢迎指正。

安装与配置

下载解压

下载合适版本的Upsource安装程序点击下载,我用的版本为Upsource-3.5.3550,将其解压到任意磁盘,进入Upsource根目录(下面统称upsource_home),准备进行安装,

Win下启动安装配置

  • Upsource对比较耗内存,建议机器内存在4G以上
  • 在Windows环境,为了避免碰到各种奇奇怪怪的问题,最好关闭所有杀毒软件

Upsource两种启动方式:作为后台进程进行启动、作为Windows Service安装

1.运行Upsource作为后台进程进行安装

以管理员身份运行打开cmd,切换到<upsource_home>目录,执行命令

1
upsource_home\bin\upsource.bat start


2.运行Upsource安装为Windows Service

1
upsource_home\bin\upsource.bat service install /runAsSystem

启动完成后会打开默认浏览器网址http://机器名:80/welcome 页面,注意在3.5版本中windows默认端口为80,在以前的版本端口默认是8080。这是你会看到如下页面:

点击Set up进行安装,这时我们可以修改访问域名和端口

点击Next进入用户管理,设置管理员用户名密码

点击Next,这里会提示免费版支持10个免费用户,如果你有License Key的话,在这里可以输入。

点击Finish,静候安装


启动完成后,会默认打开欢迎页面,到这步安装大功告成。

创建/管理项目

使用admin账户登录,点击Create Project创建项目


点击Create project完成项目创建,接下来就等待代码clone完成。

设置用户/组/角色权限

代码下载完成之后,就开始设置用户权限

点击Users进行用户/组/角色权限设置,Upsource安装完成之后默认添加了admin和guest用户。

设置用户时可以指定用户组,每个项目有三个用户组,分别为Code ViewersDevelopersProject Admin。同一个用户可以拥有多个用户组。

角色权限可以设置全局角色和对应某个项目的角色,总共有五种,分别是:Code ViewerDeveloperObserverProject AdminSystem Admin,每个角色所拥有的权限都可以根据自己需求灵活进行配置

这里我们为cms项目添加两个用户:LucyProject Admin角色,tomDeveloper角色

代码审查(Code Review)

Upsource能为代码审查提供哪些便利

  • 对多种类型的代码库与软件开发语言进行代码浏览
  • 对同一个代码库的多个修订版本进行浏览,并且通过一个图形化工具显示多个修订版本之间的关系
  • 对代码变更进行跟踪,包括提交历史、变更差异比较,以及分支与合并的操作
  • 对团队的代码进行审查,包括代码的讨论、跟踪代码评论以及最终的结论

如何进行代码审查

当开发者tom提交完代码之后,项目管理员Lucy登录到Upsource,可以看到所有项目的索引,每个项目都有对应一个特定的VCS仓库。

单击项目名称列出每一次提交的版本,每一次提交的代码罗列,这里你可以浏览代码,创建代码审核,分支列表,分支与分支代码比较,代码提交代码审核分析(可视化图表)……等等你想要的功能。

拖动滚动条,将光标移动到需要进行审核的修订版本上,点击Create review创建一次新的代码审查

代码对比

点击左边修订版中提交的文件名显示嵌入差异:

点击Side-by-side diff可以查看整个文件在提交前后的变化

关于代码评论

无论你是作为一个authorreviewerwatcher,你都可以发表评论,发表的评论所有参与的人都可以看得见
有三种类型的评论:

  • 审查意见:这种类型的评论是不是捆绑到任何代码特定文件或部分。
  • 行级评论:这种类型的注释与特定的代码行相关联。
  • 代码块评论:这种类型的评论是为了找出一个特定的代码片段中的一个文件进行审查。

行级评论

代码块评论

参与评论

Lucy进行评论后,开发者tom会收到邮件通知,登录tom账户,可以清晰的看到Lucy的评论的代码,可以进行回复。

当点击Accept时,表示接受此次修订,此次审查被视为完成。

Upsource分析功能

Upsource提供了例如代码提交分析、代码审查分析等功能。

其他

JetBrains提供的Upsource授权计划是根据用户的数量所决定的,不超过10人(去掉admin、guest其实就只有8个用户)的团队可以免费使用。同样,教育机构及非盈利的开源项目也可以免费使用。