Upsource的安装和与JetBrains产品的集成

Upsource的安装和与JetBrains产品的集成

JetBrains的工具一直都是我开发和学习的好帮手,本人工作主要是iOS开发,使用的是AppCode,而这里主要介绍下JetBrains的代码审查工具Upsource,它把代码审查做成了类似社交工具的效果,可以在不修改代码的情况下对代码进行注释和评论,然后再让相关人员去进行修复,而且有很多人性化的小功能。这里首先说下其安装和集成步骤。
这里IDE我用的是AppCode,版本控制则是SVN。
注意:这里仅按照mac系统来写的,windows系统最好参考下官网的具体说明,但是基本上大同小异。

一、下载和安装

首先去官网下载最新版本的Upsource,点击跳转到下载地址,这里我使用的是苹果的mac系统,但是目测windows下载下来解压后和mac都类似。目录如下:

Upsource目录结构图

这个解压后的文件夹其实已经可以当做软件包了,里面包括了它的各种依赖等等,Upsource是基于java写的,已经内置了java7,也可以自定义引入java8,官网说明有详细的命令行教程,但是目测会有点小问题,不太建议重新引入,毕竟你不用去修改人家源代码。

bin目录下即是Upsource的命令行工具,我这里是mac系统,使用.sh结尾的文件upsource.sh即可,使用之前,最好是在root权限下进行,如下:

sudo -i

之后输入密码即可。windows系统则使用upsource.bat
随后运行命令行工具,直接把upsource.sh文件拖入命令行工具后空格输入start:如下

JeffreydeMacBook-Pro:~ jeffrey$ /Users/jeffrey/Soft/upsource-2017.1.1821/bin/upsource.sh start

上面的/Users/jeffrey/Soft/upsource-2017.1.1821为我Upsource文件夹本地路径,对应换成自己的即可,如果是拖到命令行去的,则路径已经是对应自己的Upsource文件夹的路径了。

start命令执行后,等待系统安装完即可。最后命令行结果如下:


命令行结果图

二、设置

1.URL设置

start执行完毕后会打开默认设置的xxx-pro.local:8080这个地址,xxx-pro.local为你服务器地址,需要配置,配置这块目前还没过多的查看,这里只做简要安装集成介绍,这里只需要知道是其实是把Upsource部署在了localhost:8080即可。因为xxx-pro.local是没有配置的,所以默认打开的地址肯定是无效的,不管它,直接手动输入localhost:8080或者把localhost改成你的ip地址(端口号别忘了写)。这样你会看到Upsource的正式页面了,如下:


命令行结果图

点击Set up进行设置,进入如下页面:


URL设置

把默认的Base URL修改掉,因为那个地址是无效的,如果需要有效需要自己去配置。
Application Listen Port端口号可以自己修改成自己想设置的,这里使用默认的8080没有修改。之后点击下一步,进行账户设置。

2.账户设置

点击后界面如下:


账户设置

管理员账户用户名修改成自己想要的,然后输入密码并重复密码即可。

3.许可

许可

默认的是免费的许可,只能10个人使用,可以点击申请60天的10000人的许可。目前我这边只是前端iOS开发,就2个人,会审查下自己和同事的代码,所以暂时免费的已经够用了。如果比较大型的公司或者团队,可能需要使用收费的。这里直接点击Finish完成。

4.等待安装完成

等待安装完成

这个可能会花费一点时间,但是如果你之前在设置Base URL的时候没有设置为localhost:8080,那么这里会一直卡在这个等待页面不成功,你最好重新安装下(注意,最好重新解压压缩文件用新解压的文件重新来一遍)
最后完成后就是如下页面:


欢迎页

输入之前设置好的管理员账号即可进入管理页面

三、创建项目

1.配置填写

点击右上角登录,使用之前的管理员登录,然后点击create a project创建一个新项目如下图:


创建新项目

填写好项目名称project name,下面的Porject ID和Code review ID Pattern直接用系统自动生成的即可。

�VCS版本控制工具这里我使用的是SVN,认证方式选的中间的账号密码认证。这里需要注意下Branches的填写,理论上你svn的路径下应该有trunk(主分支),Branches(其他分支)和tags(保存的历史版本),这里默认帮你填写了trunk和Branches,如果你直接管理你当前的的项目,那么这些需要删除掉,让Branches里面留空白即可,我这里svn路径下项目已经是我要管理的当前版本了(相当于trunk),所以Branches里面是都删除掉了的。最后点一下Test connection,如果成功,点击最下面的Create project完成即可。

注意:我这里svn使用的是https的协议,会报一个错误:

svn: E200015: Server SSL certificate for 'https://xxx.x.x.xx:8443' rejected, consider testing your SSL certificate with https://www.ssllabs.com/ssltest

这里xxx.x.x.xx是我ip地址。这个报错主要是因为svn使用了自签证书,如果你的svn使用的也是https协议且是自签证书,那么需要单独处理下

2.svn若使用的是https协议自签证书的处理

猜测Upsource应该和大部分前端工具一样,已经内置了常规的国际信任的证书,但是自签名证书不包括在内,这里就需要把你svn的自签证书导入到Upsource密钥库中去。

首先你需要把证书下载下来,你可以通过直接在浏览器输入你的svn的地址,我这里是火狐的浏览器,其他浏览器请自行在安全选项里把对应的证书导出来。


进入安全选项
证书下载

选择导出,导出到自己指定的一个路径即可。

然后开始使用钥匙串的命令行工具进行证书导入。记得首先进入root权限:

JeffreydeMacBook-Pro:~ jeffrey$ sudo -i
JeffreydeMacBook-Pro:~ root# keytool -import -alias my_svn_alias -keystore /Users/jeffrey/Soft/upsource-2017.1.1892/internal/java/mac-x64/lib/security/cacerts -file /Users/jeffrey/Desktop/5a8948a593e2424.cer

具体解释:

第一行进入root权限,keytool -import -alias为钥匙串的命令行指令,导入的意思,其中-alias是别名的意思,后面自己起个名字,我随便起的叫my_svn_alias,这个是在密钥库里你这个证书的别名叫什么-keystore 后面接密钥库路径,具体的路径如下图:

密钥库

在Upsource文件夹里找到对应系统的cacerts文件即可,我这里的路径是/Users/jeffrey/Soft/upsource-2017.1.1892/internal/java/mac-x64/lib/security/cacerts,-file后面跟你要导入到密钥库的本地证书的路径,我这里是/Users/jeffrey/Desktop/5a8948a593e2424.cer,这个就是之前从浏览器导出的证书。
大致意思其实就是使用命令行把路径/Users/jeffrey/Desktop/5a8948a593e2424.cer的这个证书,导入到了Upsource里的/Users/jeffrey/Soft/upsource-2017.1.1892/internal/java/mac-x64/lib/security/cacerts这个密钥库文件中

如果命令行输入没有问题,那么会继续提示你需要输入密钥库的密码(导入到密钥库中需要这个密钥库的密码),Upsource自带的密码为默认的changeit,之后提示是否信任,输入y即可,最后会提示证书已添加到密钥库中。最后回到Upsource配置svn的页面在测试下,就不会报错而是成功了,点击左下角Create project即可。等待一会,则会显示成功后的第一个项目页面了:

成功页面

四、IDE中集成

1.checkout项目

checkout一份项目下来,具体JetBrains的svn用法可以参考我另外一篇文章文章还是使用Appcode,但是目测大部分JetBrains的版本控制工具用法都是一样的,包括安卓studio。

2.安装插件

JetBrains已经开发了Upsource的相关插件,左上角点击Appcode->Preference->Plugins->Install JetBrains plugins,搜索Upsource,找到Upsource Integration安装并重启IDE:

插件安装

3.插件配置

checkout项目后,IDE右下角你回发现Upsource的小图片,点击:

点击图标

配置好Upsource的路径,填写为之前设置好的Base URL,即:http://localhost:8080:

路径配置

4.关联登录

点击“OK”后,会自动进入网页中,需要关联登录,入住对应的账号登录并接收即可,最后关闭后即可和IDE相关联了。

关联账号
确认关联
关联成功

最后成功后的结果如下:

配置完成

可以看到,左下角选择器多出来了一个Reviews,右下角的Upsource的图标已经点亮。

至此,如何安装已经介绍完,后续会深入研究后会再具体说明Upsource的使用。目前关于URL这块的配置没有太详细的深入了解,大致看了下,配置完一些地方后,是可以进行外网连接且自定义域名的,类似刚开始默认的域名,个人觉得就是一个推荐的域名,但是需要你让它可用,否则默认是打不开。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容