本地部署sonarqube并进行代码审查

目录

背景

思路

安装docker

安装JDK17

安装pg

初始化sonar的数据库、角色、用户信息

部署sonarqube和sonar-scanner

下载

本地配置

启动

执行扫描

手动创建项目

配置项目名

生成sonar指令


背景

        最近在搞代码审查,配置过程中遇到了一些版本、配置导致的各种启动运行报错的问题,今天抽空整理了一下相关的资源,希望能够帮到需要用到的同学。

思路

安装docker

这个教程很多,自己找,后面有空再输出

安装JDK17

Sonar 7.9 以上需要安装JDK11以上

安装pg

sonarqube 7.0+以上不再支持mysql

本地有docker环境的戳这里

初始化sonar的数据库、角色、用户信息

新建数据库

找个client连上去,建库名: sonar

新建角色

用户名填 sonar 密码填 sonar,如下图勾选。

部署sonarqube和sonar-scanner

下载

---------------------云盘---------------------

链接: 百度网盘 请输入提取码 提取码: zmrt

---------------------官网---------------------

sonarqube官网下载地址

sonar-scanner下载地址

中文补丁包

本地配置

1、解压到某个目录,比如 /Users/{你的用户名}/dev/sonarqube

2、配置环境变量

# 配置环境变量
$ vim ~/.bash_profile
# 刷新
$ source ~/.bash_profile

3、修改 sonar.properties

$ vim /Users/scylla/dev/sonarqube/sonarqube-9.9.0.65466/conf/sonar.properties

增加如下配置,如下图。

sonar.jdbc.url=jdbc:postgresql://127.0.0.1:54321/sonar?currentSchema=public
sonar.host.url=http://localhost:9000/sonarqube
sonar.jdbc.username=sonar
sonar.jdbc.password=123123
sonar.login=admin
sonar.password={sonar的登录密码,设置自己的即可}

启动

$ cd /Users/scylla/dev/sonarqube/sonarqube-9.9.0.65466/bin/macosx-universal-64
# 还有一些其他的命令 console start stop force-stop restart status dump
$ ./sonar.sh console

启动成功如下:

访问 http://localhost:9000能出来页面,控制台没有报错,就算装好了。

执行扫描

手动创建项目

手动添加项目:

选择 Projects -> Create Project -> Manually, 还有一些其他方式,比如关联github、gitlab等。

配置项目名

Project display name: 项目名

Project key:项目key (最好全英文)

Main branch name:分支名

生成sonar指令

1、创建项目

上面创建好项目之后选择 Locally (扫描本地项目)

2、生成token

生成一个带有效期的token。用于在出报告后往sonar服务端回传数据。点击 Generate -> Countinue

3、选择构建方式

一般 springboot 或java 项目选 maven 或者 gradle、前端项目选 Other --> 此时会生成一个 maven脚本。

4、执行扫描

点击 Copy,复制扫描命令 --> 进入项目根路径 --> 执行脚本

# 进入项目根路径
$ cd /本地项目根路径

# 执行脚本
$ mvn clean verify sonar:sonar \
  -Dsonar.projectKey=sonar-test \
  -Dsonar.host.url=http://${sonar服务所在的ip地址}:9000 \
  -Dsonar.login=sqp_8d933ebca8e428de09f44abd24f9a3e3d02d9a04

5、扫描成功

完成扫描后,进入Projects 中即可查看结果

6、修复bug

找到概览Overview 查看相关的问题并修复。

扩展

Sonar支持自定义规则,如果有需要了解,可以参考如下内容:

如何在SonarQube自定义CheckSetyle规则 - 简书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值