资讯专栏INFORMATION COLUMN

使用 Upsource 实现代码审查 - jetbrains 系列

Ali_ / 3226人阅读

摘要:镜像链接安装是什么作为一个代码审查工具有很多有益的特性执行高效的代码审查从审阅通过浏览器跟踪重要的变化发现设计缺陷找出项目中需要开发人员注意的部分检测项目范围的风险分散责任快速面板便于新成员了解项目并了解其他人的职责范围回应讨论变化帮助队友

镜像链接: https://juejin.im/post/5c25e2...

安装 Upsource 是什么

Upsource 作为一个代码审查工具, 有很多有益的特性.

执行高效的代码审查

从 IDE 审阅

通过浏览器跟踪重要的变化

发现设计缺陷, 找出项目中需要开发人员注意的部分

检测项目范围的风险, 分散责任

快速面板, 便于新成员了解项目并了解其他人的职责范围

@回应, 讨论变化, 帮助队友

可与持续交付/问题跟踪/github同步

不用担心团队成员人数, 团队项目, 不限量~

下载

下载

安装

下载并解压到指定的文件夹

目录树

├── api
├── apps
├── backups      # 备份目录
├── bin          # 应用目录
├── conf         # 配置文件
├── data 
├── internal
├── launcher
├── lib
├── logs         # 日志
├── sonarqube
└── temp         # 临时文件

可用命令

命令的位置

$ ./bin/upsource.sh

# 调用 help  来查看详细
configure      : 配置 Upsource
start          : 后台启动
run            : 在当前命令行运行
status         : 查看运行状态
stop           : 停止
restart        : 重启 
rerun          : 当前命令行重新运行
dump           : 输出 debug info
kill           : 杀死 upsource 进程
java           : 管理java的路径
help  : 显示帮助信息

help 
prints usage text for the specified command

详细文档查看

这里我们运行

$ ./bin/upsource.sh start
Starting Upsource...
* Configuring JetBrains Upsource 2018.1
* Made default base-url "http://macbook-pro-2.local:8080/" from hostname "macbook-pro-2.local" and listen port "8080"
* JetBrains Upsource 2018.1 runtime environment is successfully configured
* Loading logging configuration from /Users/duoli/Downloads/upsource-2018.1.357/lib/ext/log4j.xml
* Redirecting JetBrains Upsource 2018.1 logging to /Users/duoli/Downloads/upsource-2018.1.357/logs/internal/services/bundleProcess
* Configuring Service-Container[bundleProcess]
* Configuring Bundle Backend Service
* Configuring Configuration Wizard
* Starting Service-Container[bundleProcess]
* Starting Bundle Backend Service
* Starting Configuration Wizard
* JetBrains Upsource 2018.1 Configuration Wizard will be available on [http://macbook-pro.local:8080?wizard_token=UwxfxNH1OxGS75l3DO9p] after start
Upsource is running
配置项目

根据在命令行显示的信息, 我们打开这个地址 http://macbook-pro.local:8080?wizard_token=UwxfxNH1OxGS75l3DO9p, 如果在服务器上

这里我们点击 Set Up 来进行安装

这里来配置访问的地址, 如果是外网, 这里的地址应该是域名, 局域网替换成 IP, 如果是本地则可以替换成 localhost, 这里我替换为 localhost

创建账号密码

生成授权文件

进行安装

开始启动, 启动完成就可以登录了

在 phpstorm/jetbrains 系列中集成

这里我只是在phpstorm 中进行测试的, 但是是支持全系的, 只不过对代码部分的支持可能不太完善

配置代码审查项目

这里以 git 作为版本控制

配置基础信息

配置代码集成

其他两项的配置根据自己的喜好来进行, 这里不进行详细描述. 这样我们保存之后他就可以进行对项目初始化.

初始化完成后可以在项目中进行集成了.

安装 upsource plugin

Settings -> 搜索 Plugin -> Browse repositories -> 搜索 upsource 安装并重启

关联项目

重启之后在设置中搜索 UpSource , 在 Connection 菜单中填写 Server Url 为安装完成访问的根目录. 点击 Test Connection 来进行填写账号密码授权, 授权成功后我们便可以在项目中使用了

设置完成后在右下角有个标识代表已经启动了 Upsource 服务

在这里我们可以关联项目, 切换项目, 映射路径, 配置通知, 更改用户等信息

这样我们就可以在IDE中进行代码的review 和标识了. 这里的标识和 upsource 系统中的显示的数据是实时同步的. 并且支持 @ 某个人.

使用和查看

这里的这里的快捷键是 ctrl + alt + /, 我们选中指定的行, 填写 review 代码

填写之后就会在 IDE 行号旁边和编辑区 右上角 显示评论图标, 点击即可显示需要修改的内容, 并高亮指定的区域

同样在平台上也会存在这一项目

这里有几个技巧

支持 @ 来指定人

支持标签标注

好了, 团队中开始试用..

其他 错误 : 无法将数据保存到数据库
Updating project : An error occurred during flushing data to database  upsource

这里内存必须在 8G 以上, 否则会报上面的错误.

错误 : 用户没有看到这个项目

一般来讲就是没有把这个用户添加到所属项目中.

参考文章

如何使代码审查更高效

特性 : 支持自定义标签

这些标签可以同步到 IDE 中.

特性 : 多用户账户可以归到一个用户下进行管理

比如一个用户有多个git global标识, 可能是不同时期的用户的昵称, 这里可以识别为一个账户, 更方便进行管理

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28770.html

相关文章

  • 我与Jetbrains的这些年

    摘要:以为例,来讲解一下的一些有趣的配置。帅气的也是调整开发效率的一部分。的开发者日也并不是全部商业宣传,至少它做的事情是值得让开发者认可的。抱歉大会主要将了以下几项内容,上午是主会场,下午分俩个会场和,作为一个程序员,我没得选。 showImg(https://segmentfault.com/img/bVbjWTw?w=2000&h=1118); 前言 本章主要说一下如何去使用Jetbr...

    layman 评论0 收藏0
  • Android Gradle系列-进阶篇

    摘要:如果你有新建一个项目的经历,那么你将看到推荐的方案在的中使用来定义版本号全局变量。例如之前的版本号就可以使用如下方式实现因为使用的是语言,所以以上都是语法例如版本控制,上面代码的意思就是将有个相关的版本依赖放到的变量中,同时放到了中。 showImg(https://segmentfault.com/img/bVbsh3m?w=2560&h=1280); 上篇文章我们已经将Gradle...

    lvzishen 评论0 收藏0
  • 如何开发一个 PyCharm 插件

    摘要:今天我们说说怎么搭建环境自己写一个插件。插件工程目录结构一个典型的插件目录结构就像下图。如果成功那么在工程目录就会生成一个同名的文件。 PyCharm 是很多 Python 开发者优先选择的 IDE,功能强大,跨平台,提供免费社区版,非常良心。如果你想自己给PyCharm添加一些功能怎么办呢?有两个办法: 通过提需求实现,到 JetBrains 的 github 去提issue或者自...

    LdhAndroid 评论0 收藏0
  • webpack多页应用架构系列(九):总有刁民想害朕!ESLint为你阻击垃圾代码

    摘要:本文首发于的技术博客实用至上,非经作者同意,请勿转载。如果你使用了,或类似的,那么,通过编译前后的代码相差就很大了,这会造成两个问题以为例把你的代码转成什么样你自己是无法控制的,这往往导致无法通过的审查。 本文首发于Array_Huang的技术博客——实用至上,非经作者同意,请勿转载。原文地址:https://segmentfault.com/a/1190000007030775如果您...

    dingding199389 评论0 收藏0

发表评论

0条评论

Ali_

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<