Sonar本地环境搭建(Windows)

Sonar本地环境搭建(Windows版)

一、环境准备(本文所使用环境)
  • jdk1.8.0_161
  • mysql-5.7.23
  • sonarqube-7.8 (mysql数据库版本要求是 >=5.6 && <8.0 )
  • sonar-scanner-4.2.0.1873
  • node-v12.18.2(分析css和js文件时需要,如没有此需求可以不安装)

百度网盘:https://pan.baidu.com/s/1c8T4RaCCVYP6VZ5Cx251MA

提取码:91i6

二、安装及配置
  1. jdk安装,省略。

  2. mysql安装,省略。

    因为sonar第一次启动需要连接数据库,并初始化一些表和数据,本文以mysql为例,创建数据库和用户:

    第一步:使用命令创建数据库,名字为sonar:

    CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

    第二步:创建一个sonar用户并把这个用户的密码设置为soanr:

    CREATE USER ‘sonar’ IDENTIFIED BY ‘sonar’;

    第三步:将第二步中创建的sonar数据库的所有权限赋给第三步中创建的sonar用户:

    GRANT ALL ON sonar.* TO ‘sonar’@’%’ IDENTIFIED BY ‘sonar’;
    GRANT ALL ON sonar.* TO ‘sonar’@’localhost’ IDENTIFIED BY ‘sonar’;
    FLUSH PRIVILEGES;

在这里插入图片描述

  1. sonarqube安装。

    3.1、解压sonar的安装包sonarqube-7.8.zip到指定目录:

    在这里插入图片描述

    3.2、切换到conf目录下,对sonar.properties文件进行配置:

    在这里插入图片描述

在这里插入图片描述

3.3、切换到sonarqube-7.8\bin\windows-x86-64目录下运行启动命令

在这里插入图片描述

第一次启动,sonar需要向mysql库中新建表,和初始化数据,会比较慢,需要耐心等待。等待过程中,可以连接mysql数据库查看表是否被创建,或者表中是否有数据等等。启动成功后,如下图:

在这里插入图片描述

若碰到等待很久也没反应的情况,可以打开logs目录下,看看log文件中有没有报错,根据报错,来解决问题:
在这里插入图片描述

初始化遇到过的问题:

在这里插入图片描述

启动成功后,浏览器访问http://localhost:9000,打开界面。

(此图装过中文插件,且分析过一个项目)

在这里插入图片描述

默认使用 用户名:admin 密码:admin 可以登录管理员账号。

3.4、安装中文插件。

  • sonar的市场安装:登录admin账号,在市场中搜索Chinese,就会搜到插件,点击Install进行安装:

在这里插入图片描述

  • 因为网络原因,有时Install不上,也可以直接下载插件,进行安装。下载好插件sonar-l10n-zh-plugin-1.16.jar,下载地址:

    https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-1.16

    移动到sonarqube-7.8\extensions\plugins中,再重启sonar即可生效:

在这里插入图片描述

 停止sonar,打开任务管理器,将java进程结束即可:

在这里插入图片描述

  1. sonar-scanner安装

    4.1、解压sonar-scanner-cli-4.2.0.1873-windows.zip到指定目录:

    在这里插入图片描述

    4.2、切换到conf目录下,对sonar-scanner.properties进行配置:

在这里插入图片描述

#----- Default SonarQube server
sonar.host.url=http://127.0.0.1:9000

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

sonar.jdbc.username=sonar 
sonar.jdbc.password=sonar 
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
useConfigs=maxPerformance 
sonar.sourceEncoding=UTF-8 
sonar.login=admin 
sonar.password=admin

4.3、环境变量配置

在这里插入图片描述
在这里插入图片描述

打开cmd,执行:sonar-scanner -v 。如下图代表配置成功:

在这里插入图片描述

  1. nodejs安装,省略。
三、使用sonar-scanner分析项目
  1. 在待分析项目的根目录下,新建配置文件sonar-project.properties:

在这里插入图片描述

# 项目key
sonar.projectKey=Sonartest  
# 项目名字
sonar.projectName=Sonartest  
# 项目版本
sonar.projectVersion=1.0     
# 要分析的源码的目录 多个目录用英文逗号隔开
sonar.sources=src
# 新版的需要加上binaries这个属性,否则无法解析,我这里是Java项目,所以部署后有对应的classes文件夹        
sonar.java.binaries=WebRoot/WEB-INF/classes
# 语言
sonar.language=java       
# 编码 
sonar.sourceEncoding=UTF-8   
  1. 打开cmd,切换至项目根目录下,执行sonar-scanner,随后会开始进行分析:

在这里插入图片描述

分析成功后,登录http://localhost:9000,可以看到分析结果:

在这里插入图片描述

Sonar本地搭建踩坑记录

问题1

问题描述:第一次启动sonar时,初始化数据库报错。数据库使用mysql

在这里插入图片描述

原因:sonar7.8对mysql的版本支持是:>=5.6&&<8.0
解决:本地mysql版本换成了5.7

问题2

问题描述:sonar-scanner进行分析css文件时报node -v 的错误。

在这里插入图片描述

原因:本地没有安装node.js
解决:安装node.js 后重新分析,此错误不再出现

问题3

问题描述:报告上传失败

在这里插入图片描述

原因:向MySQL数据库中写数据的时候超过了单次最大数据量
解决:可通过修改MySQL中max_allowed_packet参数进行解决。

在my.ini配置文件中添加

在这里插入图片描述

重启mysql服务后,验证:

show VARIABLES like ‘%max_allowed_packet%’;

在这里插入图片描述

然后重启sonar,在重新执行sonar-scanner进行分析

问题4

问题描述:SVN相关报错

在这里插入图片描述

原因:sonar-scanner进行分析时,默认远程连接SVN。上图报错没有连接成功SVN。
解决:因为目前只是本地扫描,因此禁用SVN连接

  1. 在项目根目录下的配置文件中sonar-project.properties配置以下配置,禁用SVN连接:

在这里插入图片描述

​ 2.或在sonarQube中配置:

  • 禁用SCM

在这里插入图片描述

  • 或配置SVN账号密码(暂未尝试)

SonarQube安装中文插件

方式一

sonar的市场安装:登录admin账号,在市场中搜索Chinese,就会搜到插件,点击Install进行安装:

在这里插入图片描述

方式二

下载插件jar包。

下载地址:

https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-1.16

下载后的jar包放在:

在这里插入图片描述

重启sonar:

停止sonar,结束java进程

在这里插入图片描述

重启后,登录http://localhost:9000后,界面就变成中文:

在这里插入图片描述

SonarQube规则的导入导出和启用禁用

一、规则的启用禁用

新增质量配置,来管理规则,即启用和禁用规则

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二、规则的导入导出

  1. 导出:选择备份,后会生成xml文件

在这里插入图片描述

  1. 导入:在质量配置界面,点击恢复,选中xml文件,即可恢复

在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要使用Docker搭建SonarQube,首先需要拉取SonarQube的镜像并安装。可以通过以下命令拉取SonarQube镜像: ``` docker pull sonarqube ``` 然后,可以重新构建SonarQube镜像来添加汉化包和其他插件。可以使用以下Dockerfile来重新构建镜像: ``` FROM sonarqube ADD sonar-l10n-zh-plugin-8.6******``` 这是因为vm.max_map_count的值太低导致的。你可以通过以下命令来增加vm.max_map_count的值: ``` sysctl -w vm.max_map_count=262144 ``` 最后,还需要搭建一个PostgreSQL数据库容器来与SonarQube容器连接。可以使用以下命令来搭建PostgreSQL容器: ``` docker run -d -p 5432:5432 --name postgresql -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar postgres ``` 这样,你就成功地使用Docker搭建了SonarQube。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Docker搭建代码检测平台SonarQube并检测maven项目的流程](https://download.csdn.net/download/weixin_38651273/14048771)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [docker搭建sonar](https://blog.csdn.net/qq_39122146/article/details/112328478)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值