一、安装方法

1.下载地址

https://www.sonarqube.org/downloads/

2.版本选择

Java 1.8应该选择7.8版本的SonarQube

官网往下拉一点可以看见历史版本。

image-20220811152555500

然后选择7.8下载免费开源的社区版:

image-20220811152621677

3.安装

解压就可完成安装。

4.启动

到解压目录的bin\windows-x86-64(我的是64位的)目录下:
双击StartSonar.bat文件 启动SonarQube

image-20220811152647418

二、安装数据库

1.版本要求

在conf目录下的sonar.properties文件下: 有这样一行配置 :

image-20220811152708545

MySql数据库最好选择规定的版本,其他数据库版本要去和配置参数,也在这个配置文件中。

2.创建一个数据库

1
create database 数据库名;

3.用户并进行授权

1
CREATE USER 'username'@'host' IDENTIFIED BY 'password';

username 为创建的用户名

host为对应的主机地址,本地就是localhost

password为设置的密码

1
GRANT ALL ON *.* TO '用户名'@'localhost';

对用户进行授权操作

4.修改SonarQube配置文件

1
2
3
4
5
6
7
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
# 刚刚创建的sonarQube用户
sonar.jdbc.username=用户名
# 创建用户对应的密码
sonar.jdbc.password=密码
# 设置编码格式为UTF-8
sonar.sorceEncoding=UTF-8

5.重新启动

三、中文插件

1.插件市场安装

首先登陆系统

点击界面右上角的登录按钮,进行登录

初始的账户名 : admin,初始的密码 : admin

然后点击 导航栏config

选择应用市场 搜索 Chinese pack

image-20220811152727369

点击install进行安装 安装成功后

重启 SonarQube

2.手动安装

由于部署的SonarQube不是最新版的,应用市场的插件可能安装失败,这是我们就需求手动安装。

点击插件上面的首页。

image-20220811152744332

然后在仓库README中可以看见兼容列表:

image-20220811153516024

我们的SonarQube7.8对应的中文插件版本就是1.28

然后点击Releases,查看所有版本。

image-20220811153535885

找到我们需要的版本,下载压缩包。

image-20220811153548424

然后把下载的jar包复制到extensions\plugins目录下。

image-20220811153632032

最后重启即可完成汉化。

四、使用

示例使用maven的方式进行分析。

1.编辑maven 的settings.xml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<settings>
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- Optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
http://localhost:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
</settings>

其中sonar.host.url 值就是 上文启动的sonar 服务器地址。

2.对maven项目进行分析

到项目所在的文件路径下:

使用命令提示符或者是power shell执行 如下命令:

mvn org.sonarsource.scanner.maven:sonar-maven-plugin:sonar

image-20220811153647976

出现: BUILD SUCCESS 标识之后
刷新界面查看 :

image-20220811153707134

五、服务器部署

1.服务器参数

服务器名称:阿里云ECS服务器

ip地址:http://47.108.113.58/

CPU&内存:2核(vCPU) 2 GiB

操作系统:CentOS 7.0 64位

实例规格:ecs.t6-c1m1.large (性能约束实例)

带宽:1Mbps

2.部署步骤

部署步骤与本地Windows部署方式类似。

启动方式不同

进入/bin/linux-x86-64,输入:

./sonar.sh start

其他命令

./sonar.sh start 启动服务

./sonar.sh stop 停止服务

./sonar.sh restart 重启服务

3.使用

sonarqube使用教程 - 吕林光 - 博客园 (cnblogs.com)

(1).创建一个项目

image-20220811153723706

image-20220811153736167

(2).生成一个令牌

image-20220811153748774

(3).选择语言和构建技术

image-20220811153803055

(4).运行maven语句

image-20220811153813588

(5).结果

服务器内存太小,分析后肯能崩溃。

(6).报错

如果发现报错:

image-20220811153825786

本地项目install一下就可以了。

4.部署需注意的问题

启动失败可以查看日志,然后百度,可以解决大部分问题。

(1).启动用户

sonar6.7.2启动报错 - 离骚不骚 - 博客园 (cnblogs.com)

(2).解决报错max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

[(53条消息) 解决报错max virtual memory areas vm.max_map_count 65530] is too low, increase to at least [262144]_浅唱~幸福的博客-CSDN博客

(3).删除临时文件

如果发现不能启动可以尝试删除主目录下的临时文件

rm -rf temp