linux上配置Sonar代码扫描

技术选型

下载地址:链接:https://pan.baidu.com/s/1bak9cDDc2Edc4S3gn4fFsA    提取码:tas3

数据库 mysql5.6   ~   mysql5.7
代码分析 sonarqube-7.6
扫描器 sonar-scanner-cli-4.0.0.1744-linux
汉化包 sonar-l10n-zh-plugin-1.26.jar

 

 

 

 

 

 

 

安装sonarqube

1. 上传并解压sonarqube

  

2 创建用户(不能以root用户启动),并赋予权限

创建用户

# useradd sonar

# passwd sonar

赋予权限

# chown -R sonar.sonar /usr/local/userfile/sonarqube-7.6

3. 编辑sonar.properties文件(默认启动端口9000,我这里修改了8010)

vim  sonarqube-7.6/conf/sonar.properties

sonar.web.port=8010
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root

创建数据库

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

4. 切换用户,启动SonarQube

切换至sonar用户下启动sonar

# su  sonar

启动 SonarQube

# cd /usr/local/userfile/sonarqube-7.6/bin/linux-x86-64

# ./sonar.sh start

浏览器测试    192.168.200.100:8010

用户名:admin

密码:admin

【汉化】

将 sonar-l10n-zh-plugin-1.26.jar 汉化包,放到 sonarqube-7.6/extensions/plugins 目录下, 重启sonar就好了。

# ./sonar.sh restart

扫描项目

1. 在项目的根目录下创建 sonar-project.properties 文件

  

复制代码
sonar.projectKey=【项目唯一标识】
sonar.projectName=
sonar.projectVersion=1.0

sonar.sources=【项目所在路径】
sonar.exclusions=**/test/**,**/target/**
sonar.java.binaries=target/classes

sonar.java.source=1.8
sonar.java.target=1.8
sonar.sourceEncoding=UTF-8
sonar-project.properties
复制代码

 然后再sonar面板创建项目配置扫描,将sonar的maven命令  复制到  项目的根目录下  去执行就好了。

  

 此时就可以看到我们检查信息

  

安装 sonar-scanner-cli 扫描器

  上面我们安装好sonarqube之后,后续没法手动再次扫描,所以我们就会用到这个工具了。

 1. 解压 安装包

   

 2. 配置环境变量  vim /etc/profile

   

export SONAR_RUNNER_HOME=/usr/local/userfile/sonar-scanner-4.0.0.1744-linux/
 
$SONAR_RUNNER_HOME/bin

然后   source /etc/profile 刷新文件就好了

3. 配置数据库信息(由于我上面把sonar默认的9000端口改了,所以我这里也要指定下sonar的端口)

  vim sonar-scanner-4.0.0.1744-linux/conf/sonar-scanner.properties

复制代码
#----- Default SonarQube server
sonar.host.url=http://localhost:8010

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

sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
复制代码

4. 然后我们在项目的根目录,也就是  sonar-project.properties  所在的目录执行命令就能扫描了。(我们可以写成命令,通过jenkins来触发或者用定时任务脚本来执行)

  # sonar-scanner

 

posted @   吴磊的  阅读(1779)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
//生成目录索引列表
点击右上角即可分享
微信分享提示