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 @ 2020-10-10 16:15  吴磊的  阅读(1643)  评论(0编辑  收藏  举报
//生成目录索引列表