SonarQube代码质量管理

SonarQube 是什么?

我们先来看下官网的介绍:

1
2
3
4
Your teammate for Code Quality and Security.

SonarQube empowers all developers to write cleaner and safer code.
Join an Open Community of more than 120k users.

你的团队代码的质量与安全。SonarQube为所有开发者写出更整洁安全的代码。社区已经超过12万用户。

搭建准备

配置sonarqube

1
2
3
4
5
# 解压文件
unzip sonarqube-7.1.zip

#启动
./sonar.sh console #检查是否成功启动

配置数据库

1
2
3
4
5
6
cd /home/wsylp/soft/sonar/sonarqube-7.1/conf
vim sonar.properties
#增加一下内容
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false&maxAllowedPacket=16777216

创建数据库

1
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

sonar下的jar中的包换掉

1
2
mv ../../../sonar-java-plugin-5.13.0.18197.jar  ./
m -rf sonar-java-plugin-5.2.0.13398.jar

sonar-scanner

首先进行下载,下载后进行解压文件

1
unzip sonar-scanner-cli-4.0.0.1744-linux.zip

对文件进行重命名

1
mv sonar-scanner-4.0.0.1744-linux sonar-scanner

配置环境变量

1
2
3
4
5
6
sudo vim /etc/profile
-- 添加下面内容
export SONAR_SCANNER_HOME=/home/wsylp/soft/sonar/sonar-scanner
export PATH=$SONAR_SCANNER_HOME/bin:$PATH
-- 运行 是否正常显示
sonar-scanner -h

配置sonar-scanner.properties

1
2
3
4
5
6
7
8
#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here

#----- Default SonarQube server
sonar.host.url=http://localhost:9000

#----- Default source code encoding
sonar.sourceEncoding=UTF-8

配置项目

1
2
3
4
5
# 配置项目目录 -需要在sonarqube中创建项目  Administation->Project->Management->Create Proeject
# 输入项目key 与 Name
# 创建目录
mkdir -p code ugp
cd ugp

​ 创建sonar-project.properties 文件,内容如下

1
2
3
4
5
6
7
8
sonar.projectKey=ugp
sonar.projectName=ugp
sonar.projectVersion=1.0
sonar.sources=src
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.java.binaries=target/class
sonar.java.source=1.8

异常汇总

在内网的开发环境时由于数据库是新安装的以及项目较大,扫描后出现一些问题这里进行整理与汇总。

启动失败会在相关的log中显示出来。

max virtual memory

错误信息:

1
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

修改方法:

1
2
3
4
5
6
7
8
#修改
sudo vi /etc/sysctl.conf

# 增加
vm.max_map_count = 262144

# 配置生效
sudo sysctl -p

max file descriptors

错误信息:

1
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

修改方法:

1
2
3
4
5
6
7
# 文件修改
sudo vi /etc/security/limits.conf
# 增加内容
用户 hard nofile 65536
用户 soft nofile 65536
# 切换到用户下(由于是deepin,项目代码较少,没有出现该错误)
ulimit -Hn

can not run elasticsearch as root

因为es不允许使用root用户启动,所以运行sonar的时候必须要新创建其它用户,然后用创建的用户启动sonar。

本人操作系统是deepin,没有出现该错误。

本文标题:SonarQube代码质量管理

文章作者:wsylp

发布时间:2019年08月26日 - 09:08

最后更新:2019年08月31日 - 16:08

原始链接:http://wsylp.top/2019/08/26/SonarQube代码质量管理/

许可协议: 本文为 wsylp 版权所有 转载请保留原文链接及作者。

-------------本文结束感谢阅读-------------