SonarQube安装教程

1. 下载安装包

下载sonar

SonarQube 支持的数据库有:PostgreSQL,Microsoft SQL Server,Oracle,

注意7.9版本已经不对MySql进行官方的支持了,如果执意要用 Mysql 可能会遇到很多坑(我就被坑的不轻)。当然有的朋友想用Mysql数据库,那么可以选择安装 7.7 以下版本(包括7.7)

官方网站:https://www.sonarqube.org/

官方文档地址:https://docs.sonarqube.org/latest/

下载地址:https://www.sonarsource.com/products/sonarqube/downloads/historical-downloads/

若要下载别的版本可参考:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip修改链接中版本号即可

下载汉化包

下载地址https://github.com/xuhuisheng/sonar-l10n-zh/releases

各版本对应关系

在这里插入图片描述

2. 上传至服务器并解压

1. 上传SonarQube

在这里插入图片描述

2. 上传汉化包

将汉化的jar包上传至sonar安装目录下的extensions/plugins目录下,重启服务即可

在这里插入图片描述

注意:也可以先启动sonar服务,在配置中安装插件

在这里插入图片描述

3. 启动服务

使用自带的H2数据库,使用默认配置即可启动,注意不要使用root用户启动,因为sonar关联的es等无法使用root用户启动

进入cd /opt/sonar/sonarqube-7.7/bin/linux-x86-64/下,执行sonar.sh即可启动

默认端口为9000,例如访问lcalhost:9000/即可启动

若启动报错可检查logs文件下的日志,检查顺序:sonar.log -> es.log -> web.log

4. 执行代码扫描(maven方式)

访问sonar首页,按照提示一步步来即可

  1. 创建新项目

在这里插入图片描述

  1. 设置令牌

在这里插入图片描述

  1. 分析项目(使用maven方式)

在这里插入图片描述

mvn sonar:sonar \
  -Dsonar.projectKey=test \
  -Dsonar.host.url=http://39.174.82.249:9000 \
  -Dsonar.login=2fb6c8f558714ea5a368156822b3770c1c5d5e8b

然后进入到要扫描的代码目录,执行上面的maven命令即可,执行完毕后在SonarQube页面即可看到扫描结果

注:
上面的命令中有些是固定的信息,如果每次执行扫描都需要输入则显的很麻烦,这里我们可以将某些信息配置到maven的setting.xml

<profile>
  <id>sonar</id>
  <activation>
	<activeByDefault>true</activeByDefault>
  </activation>
  <properties>
	<sonar.host.url>http://127.0.0.1:9000</sonar.host.url>
	<sonar.login>7a13de184fe9d79c59e24062d0065bd87b7064e9</sonar.login>
  </properties>
</profile>

以后直接执行mvn sonar:sonar -Dsonar.projectKey=test即可。甚至mvn sonar:sonar都可以,SonarQube会自动以maven的坐标为项目key去创建项目

扩展

1. 使用Mysql数据库
  1. 创建数据库,创建用户
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

create user 'sonar'@'localhost' identified by 'sonar';

grant all on sonar.* to 'sonar'@'localhost';

# 刷新用户权限
FLUSH PRIVILEGES;
  1. 编辑soanr的conar.properties配置文件,位于安装位置的conf目录下
sonar.host.url=http://localhost:9090
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

注意:

  1. 7.7之后的版本(不含7.7)已经不支持Mysql,且7.7版本不支持MySQL8.0(启动时建表报错),注意MySQL版本的选择
  2. conar.properties中也可以配置sonar的端口、访问路径等配置;若简单使用则勿需过多配置,使用默认配置即可
2. SonarQube三种代码扫描方式

参考:https://blog.csdn.net/backbug/article/details/114977715

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值