由于 Crucible 拉取代码时发生异常,我怀疑跟 Subversion 服务端也有关系,不太好解决,而且使用过程中感觉也不是很人性化,遂把目光转到了 Upsource 这款 JetBrains 家的产品,他的一大优点就是可以通过插件直接在 idea 中进行操作。话不多说,开干!
1. 下载安装
直接官网下载最新版压缩包,上传到服务器用 unzip 命令解压,进入 bin 目录,执行 ./upsource.sh start
[root@xxx01 bin]# ./upsource.sh start
Starting Upsource...
* Configuring JetBrains Upsource 2019.1
* JetBrains Upsource 2019.1 runtime environment is successfully configured
* Loading logging configuration from /home/upsource-2019.1.1623/lib/ext/log4j.xml
* Redirecting JetBrains Upsource 2019.1 logging to /home/upsource-2019.1.1623/logs/internal/services/bundleProcess
* Configuring Service-Container[bundleProcess]
* Configuring Bundle Backend Service
* Configuring Starting Page Service
* Configuring Upsource Configurator
* Configuring Hub
* Configuring Bundle Hub Configurator
* Configuring Apache Cassandra
* Configuring Upsource Cluster Initialize Service
* Configuring Upsource Frontend
* Starting Service-Container[bundleProcess]
* Starting Bundle Backend Service
* Starting Starting Page Service
* JetBrains Upsource 2019.1 will be available on [http://192.168.17.11:8080/bundle/starting] after start
* Starting Upsource Configurator
Upsource is running
启动成功,要停止则执行 ./upsource.sh stop
在较早版本中启动时可能会出现下面的错误
[Upsource Error] Failed to start JetBrains Upsource 2017.3 due to unexpected exception: Native random generator does not seem to have enough entropy for JetBrains Upsource 2017.3 to start.
[Upsource Error] You can fix it by switching to PRNG (with -Djava.security.egd=/dev/zrandom) or by reconfiguring your operation system to provide more random bits.
这时需执行这样两步操作:
- 复制 $upsource_path/conf/upsource.jvmoptions.dist 为 $upsource_path/conf/upsource.jvmoptions
- 在 $upsource_path/conf/upsource.jvmoptions 后面添加 -Djava.security.egd=file:/dev/./zrandom 参数,用urandom 好像也可以
OK! 启动成功后就访问启动信息中那个地址,本例中也就是 http://192.168.17.11:8080
点击 Set up,会先进行一些设置域名、端口、管理用户名密码等操作,接着会花点时间初始化(本文中部分截图来自非 2019 版,没啥影响,基本一样)。
2. 创建项目和用户
初始化完成后会进入管理界面,点击 Create Project ,输入项目名称、ID、代码库访问信息等,然后创建。
创建好后,upsource 会进行一些代码检出的工作,这时可不要关闭 upsource
检出完成后,点击项目名称可以进入一个 commit 列表,可以看到最近的一些提交信息,当然,往下拉,点击 More 还能看到更多,也可以在上方搜索栏输入条件来查找,在这个列表中可以展开某次提交的文件明细,直至直接展开提交的代码,并在代码行上输入评论。
也可以点击 Go to file ,选中代码块,对代码块进行评论。
随便写了条评论,然后又试着自己给自己回复了一条,一个人玩肯定是不行的,点击右上的 Administration 图标,然后点击 Users , 添加几个用户。
点击 New User -> Create User , 输入用户基本信息。
保存后会进入用户详情编辑页面,在这里可以进一步修改补充用户的信息,如登录名、邮箱、 svn 帐号名(可以输入多个)等。
在 Groups 和 Roles 页面可以把用户添加到相应的组,或者直接授予相应的角色,还记得我们在创建项目时最底部有个 Create user groups 选项吗,即常见项目的同时为该项目创建出三个组,分别是 Code Viewers、Developers、Project Admins.
从名称上大家就能看出 3 个组的责任和权限了,不多解释,根据需要把用户加到相应的组,假如这个用户即是项目的管理者,又是开发者、又是代码审查者,就可以都加上。
第一个 Registered Users 组是系统自带的,auto-join 表示创建用户的时候就会自动加入改组。
另外,2019 版在创建项目是没有 Create user groups 选项的,group 需要在组管理功能下创建,其实这样更灵活一点,可以创建全局的组,即可以访问所有项目,比如下面就是我创建的几个全局组。
可以看到我把 Developers 组也设置成了 auto-join,这样后面创建的用户都会自动加入 Developers 组,右上的 Teams 显示还可以创建团队,不再赘述。
3. 安装和使用 IDEA 插件
插件当然可以在 idea plugins 里直接搜索 upsource 在线安装。
但是这个速度比较慢,可以到官网下载 idea 对应版本的插件,下载地址: https://plugins.jetbrains.com/plugin/7431-upsource-integration/versions
安装好后配置一下 upsource 的服务地址。
在 idea 右下角会出现一个小图标,点击之后就会连接到刚才配置的地址,也可以在刚才配置地址的时候点 Test Connecton 进行连接。
第一次连接会要求登录,用管理员给你创建的用户名和密码登录。
前面如果勾选了需强制修改初始密码,会再要求填写一个修改密码的表单,输入新密码保存即可。
这样你的插件就和 upsource 上的用户绑定在一起了,小图标会变亮,可以即时收到 upsource 上别人给你的评论。
这时再点击小图标还可以进行切换项目、改变用户、打开动态消息等操作。
可以在 idea 中设置 upsource 要接收的消息类型。
也可以选中某段代码右键 Upsource 直接进行操作了。
可以 @ 用户。
4. 创建 review
再次看看项目 revisions 列表。
移到某个修订版上,点击 Review changes...
可以针对该修订版创建 review ,也可以添加到某个已存在的 review ,创建 review 页面如下。
创建之后在 idea 中也可以看到相关的消息。
再消息上点击右键可以进行回复等操作。
审查完后可以 Close review ,大家多多使用相信很快就能掌握啦,细节控的同学可以细看官方文档,有钱的同学可以多买点用户,价格在此 ^_^