1 安装sonarqube

1.1 下载安装包

下载路径https://www.sonarqube.org/downloads/

选择长期支持的版本6.7.6

Linux端sonarqube+sonarscaner的安装和使用

1.2 解压,修改配置文件

Linux端sonarqube+sonarscaner的安装和使用

只需修改三个地方,配置数据库路径、用户名、密码。

需要提前在指定的数据库路径下新建相应的数据库,此处是sonar_linux。

Linux端sonarqube+sonarscaner的安装和使用

1.3 启动

进入bin目录准备启动

Linux端sonarqube+sonarscaner的安装和使用

这时如果直接执行./sonar.sh start,会出现莫名其妙的错误,即启动成功后进程消失。

查阅日志发现如下提示

Linux端sonarqube+sonarscaner的安装和使用

1.4 注意事项

此处提示不能以root方式启动

新建一个用户和组

groupadd sonarqube
useradd sonarqube -g sonarqube -p sonarqube
chown -R sonarqube /sonarqube-6.7.6 //把sonar资源分配给用户sonarqube
chgrp -R sonarqube /sonarqube-6.7.6 //把sonar资源分配给组sonarqube
chown -R sonarqube /jdk1.8 //把jdk资源分配给用户sonarqube
chgrp -R sonarqube /jdk1.8 //把jdk资源分配给组sonarqube
后两步是指定把jdk安装路径授权给sonarqube用户
这时再执行./sonar.sh start,发现进程存在了
 
查看之前配置的数据库,发现启动过程中sonar自动创建了以下表结构,用于存储后续每次扫描的结果
 
如果这时还不能通过ip:9000访问sonarqube的web界面,考虑端口号9000没开放
防火墙开放端口
iptables -I INPUT -p tcp --dport 9000 -j ACCEPT

1.5 汉化

成功访问,安装汉化包

Linux端sonarqube+sonarscaner的安装和使用

./sonar.sh restart

重启,此时没有任何项目

 

Linux端sonarqube+sonarscaner的安装和使用

2 方案一 安装sonar-scanner

2.1 下载安装包

下载路径https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

Linux端sonarqube+sonarscaner的安装和使用

2.2 解压后,修改配置文件

解压后,修改配置文件sonar-scanner.properties,配置指定的web路径和编码

Linux端sonarqube+sonarscaner的安装和使用

Linux端sonarqube+sonarscaner的安装和使用

2.3 配置环境变量

将sonar-scanner配置到环境变量

vi /etc/profile

添加如下内容

export PATH="$PATH:/usr/local/sonar-scanner-3.3.0.1492-linux/bin"

source /etc/profile

配置后即可在任何地方运行sonar-scanner命令

Linux端sonarqube+sonarscaner的安装和使用

2.4 新建sonar-project.properties

在项目工程目录下,新进一个配置文件sonar-project.properties

Linux端sonarqube+sonarscaner的安装和使用

[[email protected] remotedutyweb]# more sonar-project.properties

sonar.projectKey=remotedutyweb  工程key

sonar.projectName=remotedutyweb  工程名

sonar.projectVersion=1.0

sonar.sources=src               java文件目录

sonar.java.binaries=target/classes  class文件目录

sonar.langure=java

sonar.sourceEncoding=UTF-8

2.5 执行sonar-scanner

在当前目录下执行sonar-scanner

稍等片刻看到如下提示则证明扫描成功

Linux端sonarqube+sonarscaner的安装和使用

刷新web端查看项目,即可看到扫描后的漏洞和bug

Linux端sonarqube+sonarscaner的安装和使用

 

Linux端sonarqube+sonarscaner的安装和使用

 

参考:

https://www.cnblogs.com/huxinping8800/p/9718157.html

https://blog.csdn.net/csdnjquery163com/article/details/82968779

3 方案二 添加maven插件

若所在的服务器有安装maven,可通过配置maven配置文件,配置sonar的web地址来实现漏洞扫描。这种则无需使用方案一那种方式。

3.1 在settings.xml中添加sonar插件

<pluginGroups>

<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>

</pluginGroups>

3.2 在settings.xml中配置web路径

<profile>

              <id>sonar</id>

              <activation>

                     <activeByDefault>true</activeByDefault>

              </activation>

              <properties>

                     <!-- 配置 Sonar Host地址,默认:http://localhost:9000 -->

                     <sonar.host.url>

                       http://localhost:9000

                     </sonar.host.url>

              </properties>

</profile>

3.3 在项目路径下执行mvn sonar:sonar

Linux端sonarqube+sonarscaner的安装和使用

Linux端sonarqube+sonarscaner的安装和使用

Linux端sonarqube+sonarscaner的安装和使用

4 方案三:终极方案,使用jenkins集成sonar

4.1 安装jenkins

直接官网下载war包用tomcat启动即可,此处不再赘述

4.2 jenkins安装sonar-scanner插件

系统管理->插件管理

Linux端sonarqube+sonarscaner的安装和使用

点击安装即可

4.3 配置sonar server

系统管理->系统设置

Linux端sonarqube+sonarscaner的安装和使用

上图中的server URL是启动的sonar web端地址

上图中的token则可到启动的sonar的web界面生成

Linux端sonarqube+sonarscaner的安装和使用

4.4 配置全局工具

系统管理-> 全局工具设置

设置sonarQube Scanner,选中4.3步设置的sonar server

Linux端sonarqube+sonarscaner的安装和使用

4.5 配置构建步骤

新建一个maven风格的项目,此处不赘述

进入该项目->配置

4.5.1 源码管理,配置git路径和用户名密码等

Linux端sonarqube+sonarscaner的安装和使用

4.5.2 设置pre steps

选择图中圈中的选项

Linux端sonarqube+sonarscaner的安装和使用

选择指定的jdk

设置Analysis properties

sonar.projectKey=smsweb          工程key

sonar.projectName=smsweb      工程名

sonar.projectVersion=1.0            版本

sonar.sources=src                      java代码路径

sonar.java.binaries=target/classes      class路径

4.5.3 maven构建

这一步不是重点,略过

Linux端sonarqube+sonarscaner的安装和使用

4.5.4 开始构建

Linux端sonarqube+sonarscaner的安装和使用

下图可以看出,漏洞分析成功

Linux端sonarqube+sonarscaner的安装和使用

4.5.5 查看漏洞

由于构建了太多次,虚拟机挂了,没效果图,效果图参考2.5小节那几个关于漏洞的界面截图。感兴趣者自行尝试。

Linux端sonarqube+sonarscaner的安装和使用

 

参考:

教程https://www.ibm.com/developerworks/cn/devops/1612_qusm_jenkins/index.html

教程https://blog.csdn.net/mao_2110901055/article/details/80410568

token获取https://blog.csdn.net/wuxuehong0306/article/details/54585800

相关文章: