当前位置: 首页 > article >正文

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


http://www.kler.cn/a/6885.html

相关文章:

  • 实现了两种不同的图像处理和物体检测方法
  • MODBUS TCP转CANOpen网关
  • urdf笔记
  • WebSocket实战,后台修改订单状态,前台实现数据变更,提供前端和后端多种语言
  • sharding-jdbc自定义分片算法,表对应关系存储在mysql中,缓存到redis或者本地
  • 香港站群服务器有助于提升网站在搜索引擎中的排名
  • 2023年noc指导教师认证测评参考试题
  • 重学Java设计模式-结构型模式-代理模式
  • Vue3通透教程【十一】初探TypeScript
  • 离散制造企业数字化转型难点问题
  • 【C++从0到1】7.C++中标识符的命名
  • 蓝桥杯刷题冲刺 | 倒计时4天
  • 【QsLog动态库的编译和使用】
  • 【Git】版本控制之基础用法
  • 如何低成本实现微前端架构?
  • arm-himix100-linux-gcc no such file or directory 解决办法
  • 华为OD机试用JS实现 -【查找树中的元素 or 查找二叉树节点】(2023-Q2 押题)
  • 1-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统
  • Android列表实现单选、多选、全选、取消、删除
  • kubernetes各个条件下使用nginx-ingress进行路由映射
  • git 删除提交记录
  • flex布局:输入框布局demo
  • 多国拟发ChatGPT禁令 关“野兽”的笼子要来了?
  • itop-3568开发板驱动学习笔记(8)高级字符设备(二)IO 多路复用
  • Java 基本数据类型
  • yshop代码生成器遇到的问题 eFrom.vue没生成