SonarLint + SonarQube 静态代码扫描

文章目录

  • 一、IDEA安装SonarLint插件
    • 1.安装SonarLint
    • 2.SonarLint静态扫描
  • 二、Linux环境下部署SonarQube
    • 1.部署条件
    • 2.下载SonarQube
    • 3.创建sonar用户并上传文件
    • 4.创建sonar数据库
    • 5.启动SonarQube
    • 6.创建项目,关联代码
  • 三、SonarQube插件安装
    • 1.中文插件安装
    • 2.PDF插件安装


一、IDEA安装SonarLint插件

1.安装SonarLint

SonarLint + SonarQube 静态代码扫描_第1张图片
由于我已经安装过了,我这里显示的是update; 如果IDEA里没有安装的话,显示的install
SonarLint + SonarQube 静态代码扫描_第2张图片
安装完成后重启IDEA
SonarLint + SonarQube 静态代码扫描_第3张图片

2.SonarLint静态扫描

右键项目:
SonarLint + SonarQube 静态代码扫描_第4张图片
可以看到能扫描出代码的缺陷了
SonarLint + SonarQube 静态代码扫描_第5张图片
缺陷处理优先级:blocker>critical>major>minor>info

二、Linux环境下部署SonarQube

1.部署条件

SonarQube版本:7.7(SonarQube-7.7之后不支持mysql数据库了)
jdk版本:1.8+
mysql版本:5.6+

jdk和mysql的安装在此篇中就不再做赘述,可以看我之前写的文章里,有部署步骤。

2.下载SonarQube

下载地址:https://www.sonarqube.org/downloads/
SonarLint + SonarQube 静态代码扫描_第6张图片

3.创建sonar用户并上传文件

# 创建sonar用户
useradd sonar

# 设置密码
passwd sonar
su - sonar

# 将下载的压缩包传到sonar用户的根目录下
unzip -o sonarqube-7.7.zip

解压后,进入目录,修改配置

# 进入sonarQube的conf目录
cd sonarqube-7.7/conf/

# 修改sonar.properties
view sonar.properties

SonarLint + SonarQube 静态代码扫描_第7张图片

4.创建sonar数据库

我是使用工具创建的库,当然也可以用命令来创建
SonarLint + SonarQube 静态代码扫描_第8张图片
SonarLint + SonarQube 静态代码扫描_第9张图片

5.启动SonarQube

# 进入bin目录
cd sonarqube-7.7/bin/linux-x86-64/

# 启动sonarqube
sh sonar.sh start

# 进入log查看启动日志
view /home/sonar/sonarqube-7.7/logs/web.log

SonarLint + SonarQube 静态代码扫描_第10张图片
说明启动成功了,浏览器内访问:http://ip:9000即可访问
(不能访问的话检查一下防火墙是否关闭了)
SonarLint + SonarQube 静态代码扫描_第11张图片

6.创建项目,关联代码

点击右上角login登录进SonarQube。初始用户名/密码:admin/admin,点击Create new project
SonarLint + SonarQube 静态代码扫描_第12张图片
输入项目名,填写完成后点击set up
SonarLint + SonarQube 静态代码扫描_第13张图片
随意输入token,点击generate
SonarLint + SonarQube 静态代码扫描_第14张图片
点击continue
SonarLint + SonarQube 静态代码扫描_第15张图片
SonarLint + SonarQube 静态代码扫描_第16张图片
把下面的命令复制下来,需要改造一下:

mvn clean compile -Dmaven.test.skip=true sonar:sonar -Dsonar.projectKey=activemq -Dsonar.host.url=http://192.168.25.11:9000 -Dsonar.login=ee10f9c57ae945c87d8dd228efd48e1c8b97785b

打开项目
SonarLint + SonarQube 静态代码扫描_第17张图片
输入刚才的maven命令,并执行
在这里插入图片描述
等maven命令执行完毕后,在网页端就可看到扫描报告了
SonarLint + SonarQube 静态代码扫描_第18张图片
如果遇到这种情况:
SonarLint + SonarQube 静态代码扫描_第19张图片
把maven命令改为:

mvn clean compile sonar:sonar -Dsonar.projectKey=activemq -Dsonar.host.url=http://192.168.25.11:9000 -Dsonar.login=admin -Dsonar.password=admin

三、SonarQube插件安装

插件打包:
链接: https://pan.baidu.com/s/1olcRs3Amg90AWgpILRw9HA 提取码: dufp

1.中文插件安装

中文插件下载地址:https://github.com/xuhuisheng/sonar-l10n-zh/tags
SonarQube对应的版本是1.27, 下载jar包后,将jar包放在:/home/sonar/sonarqube-7.7/extensions/plugins 路径下,重启sonaqube即可

# 重启sonarqube
cd /home/sonar/sonarqube-7.7/bin/linux-x86-64/
sh sonar.sh restart

可以看到sonarqube变成中文了:
SonarLint + SonarQube 静态代码扫描_第20张图片

2.PDF插件安装

项目地址:https://gitee.com/zzulj/sonar-pdf-plugin
选择这个分支:
SonarLint + SonarQube 静态代码扫描_第21张图片
git将代码拉取到本地后编译:
SonarLint + SonarQube 静态代码扫描_第22张图片
将编译生成的jar包上传到:/home/sonar/sonarqube-7.7/extensions/plugins 路径下,重启sonarqube
SonarLint + SonarQube 静态代码扫描_第23张图片
然后重新扫描一下代码,在更多-Download Pdf Report即可下载扫描报告
SonarLint + SonarQube 静态代码扫描_第24张图片
SonarLint + SonarQube 静态代码扫描_第25张图片

你可能感兴趣的:(linux,mysql,ssh)