代码扫描平台SonarQube搭建保姆级教程

代码扫描工具SonarQube,想必大家也有了解,就是那种不明觉厉的存在,最近刚好有需求,需要自己搭建,下面就给大家记录下搭建的过程。

不了解的,可以先看看 https://github.com/SonarSource/sonarqube

 有一个初步认识。

话不多说,开干!

一,准备工作

1,数据库:mysql, postgressql都可以,不过最新版本的已经不能用mysql了, 所以用惯了mysql的同学,可以去选之前的稳定版本的sonarQube安装。

2,JDK:用JDK8就可以,需要加入到环境变量中去,不多说,dddd。

3,Maven:版本不限,我用的是最新的3.9.3,也是要加到环境变量。

二,下载SonarQube

下载链接:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip

SonarQube 7.8 是最后一个支持 MySQL 的版本,也是最后一个支持 jdk1.8 的版本,也就是说如果要使用 7.9 及以上的版本,SonarQube 的数据库就不能为 MySQL,并且需要 jdk11,但是公司要求要使用 MySQL,所以选择了 SonarQube 7.8,下面是具体的安装步骤。

注意 SonarQube 7.8 只支持数据库 5.6 及以上 8.0 以下的版本,其他版本的MySQL不支持。

三,修改配置

1, 修改数据库配置
下载好之后,解压,然后进到/sonarqube/sonarqube-7.8/conf目录下

vi sonar.properties

找到jdbc相关的配置

sonar.jdbc.username=root
sonar.jdbc.password=xxxx

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

改成你的配置就好了, 同时记得在上面的数据库里建一个schema是sonar的数据库

2,修改系统进程最大打开文件数

vim /etc/security/limits.conf

在尾部添加以下内容:

如果已经有了,就忽略,通常是已经有了

* soft nofile 65536
* hard nofile 131072
* soft nproc 65535
* hard nproc 65535

3,修改 vm.max_map_count 的大小

vim /etc/sysctl.conf

在尾部添加以下内容:

vm.max_map_count=655360

让配置生效:执行命令 sysctl -p

4,创建用户

不支持用root账号启动,否则会启动报错。

创建一个sonar普通用户

useradd sonar 

给用户授权SonarQube目录的权限
chown -R sonar:sonar /home/sonarqube/sonarqube-7.8/ 

四,启动项目

进入到/sonarqube/sonarqube-7.8/bin/linux-x86-64目录

sh sonar.sh

看日志在:/sonarqube/sonarqube-7.8/logs

tail  -f  sonar.log

因为启动的时候,要创建mysql数据库表,要安装es,所以第一次启动比较慢,直到看到以下日志,说明已经启动好了

五,访问SonarQube的web端

默认端口是9000, 账号密码是:admin/admin 

地址:http://安装sonarqube的服务器IP:9000

如果是云服务器,那就请在安全组中放行 9000 端口。 
firewall-cmd --permanent --add-port=9000/tcp firewall-cmd --reload

温馨提示:SonarQube依赖于ES,ES会占用大量的计算机资源,如果计算机配置太低会启动失败,我的配置是4核8g,能正常启动。 启动失败具体的问题请查看 /sonarqube/sonarqube-7.8/logs/ 下的日志文件。

六,本地扫描代码

1,修改本地Maven配置

打开本地的Maven的settings文件,在profiles节点下新增profile


    sonar
   
        true
   

   
        admin
        admin
        http://SonarQube服务器IP:9000
   

2, 执行maven命令,扫描代码

进到你要扫描的项目目录下,执行命令行命令
mvn sonar:sonar

3, 查看扫描结果

代码扫描平台SonarQube搭建保姆级教程_第1张图片

码字不易,记得点赞关注哟

你可能感兴趣的:(微服务&技术中台,Linux,SonarQube,代码扫描,Maven)