docker搭建upsource代码审查工具,通过gitlab检出项目

机器配置

在这里插入图片描述

docker搭建upsource代码审查工具,通过gitlab检出项目

官网:https://www.jetbrains.com/zh-cn/upsource/
在这里插入图片描述
下载地址:https://www.jetbrains.com/zh-cn/upsource/download/#section=windows
在这里插入图片描述
Upsource支持window,mac,linux,docker等安装。这里我们项目中使用docker,故选择docker版本。
Docker安装如下:
在这里插入图片描述
在预配置的 Docker 镜像中运行 Upsource 服务器:
docker run -it --name upsource-server-instance \
-v :/opt/upsource/data
-v :/opt/upsource/conf \
-v :/opt/upsource/logs \
-v :/opt/upsource/backups \
-p :8080
jetbrains/upsource:.
命令注释:
Upsource 服务在 Docker 容器内的非根帐户 13001:13001 (group:id) 下运行。
在启动第一个容器之前,请为传递到 Upsource 容器的主机目录设置相应的访问权限。例如:
mkdir -p -m 750 \

chown -R 13001:13001

在 Docker Hub 上查看
包括 10 用户免费方案(8 个用户 + 管理员 + 访客)。
需要许可证才能使用 10 个以上的用户帐户。
可以应请求提供 10,000 个用户的 60 天评估许可证。

官网使用文档:https://www.jetbrains.com/help/upsource/prerequisites.html

拉取镜像

Docker hub: https://hub.docker.com/r/jetbrains/upsource/
这里我们选择镜像2020.1.1883
在这里插入图片描述
docker pull jetbrains/upsource:2020.1.1883
在这里插入图片描述
查看下载本地镜像:docker images;
在这里插入图片描述

创建挂载目录

mkdir -p /home/data/upsource/{logs,data,conf,backups}
chmod 777 -R /home/data/upsource/
cd /home/data/upsource/
chown -R 13001:13001 /home/data/upsource/data  /home/data/upsource/conf /home/data/upsource/logs /home/data/upsource/backups

在这里插入图片描述

启动容器

docker run --name upsource-server-instance -p 9999:8080 \
-v /home/data/upsource/data:/opt/upsource/data \
-v /home/data/upsource/conf:/opt/upsource/conf \
-v /home/data/upsource/logs:/opt/upsource/logs \
-v /home/data/upsource/backups:/opt/upsource/backups \
-dit jetbrains/upsource:2020.1.1883

或者直接使用该命令设置访问url路径:
docker run --name upsource-server-instance -p 9999:8080 \
-v /home/data/upsource/data:/opt/upsource/data \
-v /home/data/upsource/conf:/opt/upsource/conf \
-v /home/data/upsource/logs:/opt/upsource/logs \
-v /home/data/upsource/backups:/opt/upsource/backups \
-dit jetbrains/upsource:2020.1.1883  
configure -J-Ddisable.configuration.wizard.on.clean.install=true \
--base-url=http://192.168.0.86:9999/

在这里插入图片描述
查看启动日志:
在这里插入图片描述

配置账号密码等信息

浏览器访问:http://192.168.0.86:9999/login
在这里插入图片描述
登录到upsource容器中查看:
cat /opt/upsource/conf/internal/services/configurationWizard/wizard_token.txt
由于我们把/opt/upsource/conf/挂载到宿主机/home/data/upsource/conf/目录中,所以直接在宿主机中查看token即可。
cat /home/data/upsource/conf/internal/services/configurationWizard/wizard_token.txt
在这里插入图片描述
在这里插入图片描述
复制token登录.
在这里插入图片描述
点击Set up,设置http,https访问地址,端口等信息,如果是https需要上传认证证书等。我这里使用http设置即可,然后点击下一步。
在这里插入图片描述
设置管理员账号,密码。
在这里插入图片描述
这里账号设置admin, 密码为 admin123
在这里插入图片描述
设置License,如果没有购买的话,只能使用免费版。免费版只支持10个用户,排除掉管理员和guest两个固定用户后,只支持8个用户。点击Finish后,就等系统安装结束就可以使用了。
在这里插入图片描述
安装过程,这里主要是配置upsource相关信息(数据库,hub等)。安装时间有点长,需要耐心等待几分钟。
在这里插入图片描述
安装完成如下:
在这里插入图片描述

基于gitlab创建项目

登录地址:http://192.168.0.86:9999/administration

Gitlab http协议创建项目

1、配置填写
点击右上角登录,http://192.168.0.86:9999/administration
使用之前的管理员登录,然后点击create a project创建一个新项目如下图:
在这里插入图片描述
录入项目名称,选择代码仓库,我这里使用gitlab,所以录入gitlab代码仓库地址,登录gitlab账号和密码,点击test connection链接测试,点后保存项目。
在这里插入图片描述
以上表示项目创建完成。

基于码云官方Gitlab https创建项目

这里使用码云gitlab项目测试,通过https方式创建项目。登录upsource,点击点击create a project创建一个新项目.录入项目名称,cvs相关信息。
在这里插入图片描述
在这里插入图片描述
录入项目名称,git地址,账号,密码,勾选复选框后,点击创建项目,完成后如下:
在这里插入图片描述

基于私有Gitlab https自签证书创建项目

导出证书

首先打开gitlab,例如我的gitlab: https://192.168.0.87:8443/users/sign_in
在这里插入图片描述
点击地址栏头部位置,选择证书。
在这里插入图片描述
可以看到我们使用的证书是gitlab,然后点击详细信息,找到gitlab颁发证书,然后选择复制证书到文件。
在这里插入图片描述
这里选择颁发者导出到文件中。
在这里插入图片描述
在这里插入图片描述
选择证书格式,这里我们选择第一个DER编码即可,点击下一步。
在这里插入图片描述
选择到处文件位置,这里选择到处到桌面。
在这里插入图片描述
在这里插入图片描述
点击完成即可导出到本地。

上传证书到upsource服务器

上传到/home/data/upsource目录下。
在这里插入图片描述

查看upsource证书库

服务器执行命令:find /* -name ‘cacerts’ 查看所有证书,找到upsource证书库。

[root@localhost data]# 
[root@localhost data]# find /* -name 'cacerts'
/etc/pki/ca-trust/extracted/java/cacerts
/etc/pki/java/cacerts
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64/jre/lib/security/cacerts
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/jre/lib/security/cacerts
/var/lib/docker/overlay2/886c0609de37aba8b612be360074918a5d3801f8dbc7b2a0f461d5aff425e62c/diff/etc/pki/ca-trust/extracted/java/cacerts
/var/lib/docker/overlay2/886c0609de37aba8b612be360074918a5d3801f8dbc7b2a0f461d5aff425e62c/diff/etc/pki/java/cacerts
/var/lib/docker/overlay2/851abfb9ab9622816234f5db35c081253c7af0f8ce21cb5c09d9dc1b103a9c60/diff/etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.282.b08-2.el8_3.x86_64/lib/security/cacerts
/var/lib/docker/overlay2/851abfb9ab9622816234f5db35c081253c7af0f8ce21cb5c09d9dc1b103a9c60/diff/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-2.el8_3.x86_64/jre/lib/security/cacerts
/var/lib/docker/overlay2/baefb2cfe612370f19834d8b636affcad47c00f7023c04a491871e5c8032ccaf/diff/etc/default/cacerts
/var/lib/docker/overlay2/baefb2cfe612370f19834d8b636affcad47c00f7023c04a491871e5c8032ccaf/diff/etc/ssl/certs/java/cacerts
/var/lib/docker/overlay2/baefb2cfe612370f19834d8b636affcad47c00f7023c04a491871e5c8032ccaf/diff/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts
/var/lib/docker/overlay2/3b3291c372ebe998653b0d0ad0a499b8618663eeddb11d9740166090290107be/diff/etc/default/cacerts
/var/lib/docker/overlay2/3b3291c372ebe998653b0d0ad0a499b8618663eeddb11d9740166090290107be/diff/etc/ssl/certs/java/cacerts
/var/lib/docker/overlay2/ccacaf25c54505d34d8bfc8ab4bd6369615f8f20f87f59cbd063716b3d168580/diff/opt/upsource/internal/java/linux-x64/jre/lib/security/cacerts
/var/lib/docker/overlay2/b6c5b6994cbf30ea44c3edd12aef39a322ab3aadc87f226e96b2104b351d2939/merged/opt/upsource/internal/java/linux-x64/jre/lib/security/cacerts
[root@localhost data]# 

/var/lib/docker/overlay2/b6c5b6994cbf30ea44c3edd12aef39a322ab3aadc87f226e96b2104b351d2939/merged/opt/upsource/internal/java/linux-x64/jre/lib/security/cacerts 这个库就是我们下面要使用到的。
在这里插入图片描述

导入证书
 keytool -import -alias my_gitlab -keystore /var/lib/docker/overlay2/b6c5b6994cbf30ea44c3edd12aef39a322ab3aadc87f226e96b2104b351d2939/merged/opt/upsource/internal/java/linux-x64/jre/lib/security/cacerts -file /home/data/upsource/gitlab.cer

高版本keytool使用命令:
keytool -importcert -alias my_gitlab -keystore /var/lib/docker/overlay2/2dd50eaad6dcb2d1d1a3a129cd21d968f216788cb8c6d68f7a9427aa723caf0a/merged/opt/upsource/internal/java/linux-x64/jre/lib/security/cacerts -file /root/gitlab.cer

命令说明:
-import: 导入的意思
-alias:是别名的意思,后面自己起个名字,我这里叫my_gitlab ,这个是在密钥库里你这个证书的别名叫什么。
-keystore /var/lib/docker/overlay2/b6c5b6994cbf30ea44c3edd12aef39a322ab3aadc87f226e96b2104b351d2939/merged/opt/upsource/internal/java/linux-x64/jre/lib/security/cacerts:密钥库路径。
-file /home/data/upsource/gitlab.cer : 证书文件
在这里插入图片描述
如果命令行输入没有问题,那么会继续提示你需要输入密钥库的密码(导入到密钥库中需要这个密钥库的密码),Upsource自带的密码为默认的changeit,之后提示是否信任,输入y即可,最后会提示证书已添加到密钥库中。

创建项目

打开upsource,http://192.168.0.86:9999/administration/,登录后
在这里插入图片描述
在创建项目页面点击create project.
在这里插入图片描述
录入项目名称,git地址,用户账号,密码,点击test connectioin 测试链接gitlab地址,提示VCS connection successful ,表示测试成功,如果是失败,则需要根据问题进行排查。
然后点击create project,创建完成如下
在这里插入图片描述

设置邮件提醒

在浏览器中登录Upsource服务器http://192.168.0.86:9999/,在右上角选中Upsource然后再点击右上角的账号图标选择 Notifications 便可以设置。
在这里插入图片描述
在账户配置中设置开通邮件提醒,当有关于你的代码审查时会邮件通知你
在这里插入图片描述

创建用户

登录upsource后,点击设置-》选择users
在这里插入图片描述
点击new user来进行创建用户。
在这里插入图片描述
录入用户名,邮箱,密码,点击创建。
在这里插入图片描述
选择角色授权,这里有5种角色,
Code viewer : 只有查看权限
Developer : 开发人员
ObServer: 观察者
Project admin: 项目管理员
System admin: 系统管理员
在这里插入图片描述
我们这里以developer开发者角色授权用户。
在这里插入图片描述
创建完成如下:
在这里插入图片描述
然后使用该账号登录验证。

安装错误

官网错误信息参考:
https://www.jetbrains.com/help/upsource/warning-too-many-commits-found-showing-the-200-most-recent-ones.html

Cannot load discussion DiscussionId xxxx

Upsource Request Error: UpsourceRequestExceptionImpl: 1001: Cannot load discussion DiscussionId{1627548597996#spring-demo#f8c47c3d-3f00-4a17-931f-105a814870e8} (moments ago)
以上提示是由于问题已经被处理,再次提交时问题已经不存在,所以提示无法加载该问题id

PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

创建项目,使用https协议git地址错误
在这里插入图片描述

List remote refs failed: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
解决办法:
导入https证书即可。

Certificate for <192.168.0.86> doesn’t match common name of the certificate subject: gitlab

VCS connection test failed:
List remote refs failed: javax.net.ssl.SSLException: Certificate for <192.168.0.86> doesn’t match common name of the certificate subject: gitlab
证书名称是gitlab,而访问的是ip地址,地址和名称不对应。
解决办法:
重新生成证书,将输入域名改为ip地址,然后设置证书为新证书重启服务

Springboot项目upsource插件使用

检出gitlab项目

打开idea, 选择菜单VCS->Get from version control
在这里插入图片描述
录入gitlab下载地址,选择存储磁盘位置,点击clone即可。
在这里插入图片描述
录入用户账号,密码,勾选remember,如果不勾选则每次做任何操作都要输入账号,密码。
在这里插入图片描述
选择yes, 打开检出项目
在这里插入图片描述
选择new windows打开一个新的窗口。
在这里插入图片描述
检出完成如下:
在这里插入图片描述

upsource插件安装

打开idea,settings->plugins->搜索upsource安装,安装完成后,重启idea即可生效。
在这里插入图片描述

upsource配置

Upsource插件安装完成,重启idea,如下:
在这里插入图片描述
可以看到,在idea右下角有一个upsource小图标,点击小图片,配置upsource链接地址。
填写之前设置好的Base URL,即:http://192.168.0.86:9999
在这里插入图片描述
填写好地址,点击test connection后,会自动打开一个upsource登录界面进行授权认证关联到idea。
在这里插入图片描述
输入账号,密码登录。
在这里插入图片描述
然后点击accept 完成认证,即idea与upsource关联成功。
在这里插入图片描述
然后成功后,在idea中会给与提示链接成功。
在这里插入图片描述
点击ok确认即可。
在这里插入图片描述
可以看到,左下角多出来了一个Reviews,右下角的Upsource的图标已经高亮。

1、添加代码审查记录:
在代码标注位置,右键选择upsource->leave a comment
在这里插入图片描述
填写提交内容,点击ok提交
在这里插入图片描述
提交完成后,可以看到,我们改动的地方都有一个标注小圆圈。
在这里插入图片描述
点击该标注小圈圈,可以看到标注的具体内容:
在这里插入图片描述
2、code review使用:
idea右下角,点击upsoure,选择open news feed查看。
在这里插入图片描述
查看结果如下,右侧显示代码标注部分.
在这里插入图片描述
上面这几个按钮分别表示:
绿色钩子:表示解决
反向箭头:表示回复
橡皮擦:表示编辑
垃圾桶:表示删除
在这里插入图片描述

代码审查

参考文档:https://blog.csdn.net/ZYC88888/article/details/81287335

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

starsky20

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值