SonarQube 9.5 安装部署及简单使用
安装条件
-
java 11 安装
https://blog.csdn.net/qq_41187116/article/details/125702854?spm=1001.2014.3001.5501
-
postgresql 13 安装
https://editor.csdn.net/md/?articleId=125833181
-
添加系统用户
useradd sonar passwd sonar # fa
-
系统配置
sysctl -w vm.max_map_count=262144 sysctl -w fs.file-max=65536 ulimit -n 65536 ulimit -u 4096
下载软件包:
sonarqube-9.5.0.56709.zip
下载地址:https://www.sonarqube.org/downloads/
安装
# root 用户操作
mv sonarqube-9.5.0.56709.zip /opt/sonarqube-9.5
cd /opt
unzip sonarqube-9.5.0.56709.zip
mv sonarqube-9.5.0.56709 ../sonarqube-9.5
chown -R sonar:sonar sonarqube-9.5
# 切换 sonar 用户
su - sonar
cd /opt/sonarqube-9.5/conf
vi sonar.properties
#查找 sonar.jdbc.username= 、sonar.jdbc.password= 、sonar.jdbc.url
sonar.jdbc.username=sonar
sonar.jdbc.password=fa
sonar.jdbc.url=jdbc:postgresql://lsyk05/sonarqube?currentSchema=sonar
启动SonarQube
cd /opt/sonarqube-9.5/bin/linux-x86-64
./sonar.sh start
验证检查是否搭建成功
-
查看表是否创建
-
查看进程:
ps -ef |grep sonar
竟然内置了elasticsearch。。。
-
检查sonarqube的服务端的地址是否可以正常访问
http://lsyk05:9000
登录配置
http://lsyk05:9000
- 默认账户admin/admin,首次登录,强制修改密码。
修改密码为:fa
-
安装汉化插件
选择 Administration -> Marketplace -> Plugins 中搜索 Chinese pack ,然后Install.
Restart Server生效
重新登录:
SonarScanner扫描
安装配置
下载地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
-
linux版本
sonar-scanner-cli-4.7.0.2747-linux.zip
unzip sonar-scanner-cli-4.7.0.2747-linux.zip -d /opt mv /opt/sonar-scanner-4.7.0.2747-linux sonar-scanner-4.7 cd /opt/sonar-scanner-4.7 # 配置环境变量 vi /etc/profile # 添加以下内容 export Sonar_Home=/opt/sonar-scanner-4.7/ export PATH=$Sonar_Home/bin:$PATH source /etc/profile sonar-scanner -v
编写扫描脚本:
vi ./sonar.sh sonar-scanner -Dsonar.host.url=http://lsyk05:9000 \ -Dsonar.projectKey=demo-maven-service \ -Dsonar.projectName=demo-maven-service \ -Dsonar.projectVersion=1.0 \ -Dsonar.login=admin \ -Dsonar.password=abc123! \ -Dsonar.ws.timeout=30 \ -Dsonar.projectDescription="my first project!" \ -Dsonar.links.homepage=http://www.baidu.com \ -Dsonar.sources=src \ -Dsonar.sourceEncoding=UTF-8 \ -Dsonar.java.binaries=target/classes \ -Dsonar.java.test.binaries=target/test-classes \ -Dsonar.java.surefire.report=target/surefire-reports
-
windows版
sonar-scanner-cli-4.7.0.2747-windows.zip
2.1 解压到 D:\program\sonar-scanner-4.7\
修改 D:\program\sonar-scanner-4.7\conf\sonar-scanner.properties
2.2 配置sonar-scanner的环境变量 使得sonar-scanner能再任何地方执行使用其命令
新建变量 name=SONAR_HOME
value=D:\program\sonar-scanner-4.7
打开path输入: %SONAR_HOME%\bin;
完成之后,打开cmd输入sonar-scanner -v 如果正常显示 那么说明安装成功
2.3 sonar-scanner与sonarqube的结合:
打开要进行代码分析的项目根目录,新建sonar-project.properties文件
sonar.projectKey=自己定义一个key
sonar.projectName=teste
sonar.version=0.1
sonar.sources=D:/项目路径/src/main/java
sonar.java.binaries=D:/项目路径/target/classes
sonar.login=admin
sonar.password=fa
#sonar.projectKey:关键字
#sonar.projectName:项目名
#sonar.version:项目版本
#sonar.sources:要扫描的源码路径,项目的绝对路径,需要正斜杠
#sonar.java.binaries:项目生成的class文件的路径,需要正斜杠
#sonar.login:登录sonarqube的用户
#sonar.password:密码
设置成功后保存,
进入到项目的根目录下就是sonar-project.properties的目录下面打开命令行
输入 sonar-scanner
等待一会之后,
出项这样的就说明检测成功,我们打开web端的sonar,可以清楚的看到项目中出现的bug以及一些漏洞
点进去查看:
sonar 集成到idea
-
idea安装SonarLint插件
从 File->Settings->Plugins 搜索 sonar,如下图:
-
添加Sonarqube Server
从 Settings->Tools 中找到 SonarLint:
配置sonar server:
创建token:
登录之后,生成令牌并复制填入idea中:
回到idea配置:
配置sonar项目:
-
使用
在对应项目pom.xml中添加如下配置:
<build> <plugins> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.8.4</version> </plugin> </plugins> </build> <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.host.url>http://lsyk05:9000</sonar.host.url> </properties> </profile> </profiles>
然后再项目maven中双击sonar,如下:
在 http://lsyk05:9000/projects 中即可查看到检测结果。