基于SonarQube代码质量检测

本文详细介绍了SonarQube,一个用于管理源代码质量的开源平台,支持多种编程语言。内容涵盖SonarQube的环境要求、架构、Linux下的安装部署,包括SonarScanner配置、SonarQube与Jenkins的集成,以及如何支持阿里巴巴开发手册。通过这个指南,读者可以了解如何有效地使用SonarQube进行代码质量管理。
摘要由CSDN通过智能技术生成

基于SonarQube代码质量管理

SonarQube是什么?

官网:https://www.sonarqube.org/
Sonar (SonarQube)是一个开源平台,用于管理源代码的质量。 Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。 支持java, JavaScrip, Scala 等等二十几种编程语言的代码质量管理与检测。 SonarQube®是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码异味。它可以与您现有的工作流程集成,以便在项目分支和拉取请求之间进行连续的代码检查。

Sonar环境要求
  1. SonarQube服务器的小型(单个或小型团队)实例至少需要2GB的RAM才能有效运行,而OS则需要1GB的可用RAM。
  2. SonarQube必须安装在具有出色读写性能的硬盘驱动器上。最重要的是,“数据”文件夹包含Elasticsearch索引,当服务器启动并运行时,将在该索引上进行大量的I / O。因此,出色的读写硬盘驱动器性能将对SonarQube服务器的整体性能产生重大影响。
  3. SonarQube在服务器端不支持32位系统。但是,SonarQube确实在扫描仪侧支持32位系统。
SonarQube的架构

在这里插入图片描述
包含4个部分

  1. Project:需要被分析的源码
  2. SonarQube Scanner:用于执行代码分析的工具,可配置在项目的根目录(maven项目pom.xml同级)下执行
  3. SonarQube Server:显示分析结果的Web Server
  4. SonarQube Database:分析结果存储的数据库
Linux下的安装与部署
1.前期准备
  1. JDK: 选择版本1.8
  2. 数据库:MySQL5.6 或者 5.7
  3. SonarQube:选择7.6, 目前最新版本8.2不支持jdk1.8
  4. SonarQube Scanner: sonar-scanner-3.3.0.1492
2.安装包下载

jdk和数据库就不说了,SonarQube可以选择在官网下载:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip,速度比较感人。

sonarqube-7.6.zip
https://pan.baidu.com/s/1gXmglSXm8D_GCU3QYGSzpQ 提取码:zqbd

sonar-scanner-3.3.0.1492
https://pan.baidu.com/s/1gkRnbw9vzI4TEaX86cKXSQ 提取码:5s5p

(下面是window版本的scanner 有需要可以使用,部署过程跟linux差不多)
sonar-scanner-3.3.0.1492-window
链接:https://pan.baidu.com/s/1ZPMWqiYDxKs4UCDLK-q7bQ 提取码:jqom

3.MySQL环境配置
  1. 创建一个数据库 sonar
    CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
    
  2. 创建一个sonar用户,设置用户名账号密码为sonar:
    CREATE USER 'sonar' IDENTIFIED BY 'sonar';
    
  3. 把已创建的数据库sonar的所有权限赋予给sonar用户:
    GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
    GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
    FLUSH PRIVILEGES;
    
4.SonarQube环境配置

(如果jdk环境没有配置的需配置一下,这里不过多介绍)

1.  解压sonarqube-7.6.zip
	unzip sonarqube-7.6.zip

2.  #查看参数
	sysctl vm.max_map_count
	sysctl fs.file-max
	ulimit -n
	ulimit -u
	#根据需要设置
	sysctl -w vm.max_map_count=262144
	sysctl -w fs.file-max=65536
	ulimit -n 65536
	ulimit -u 2048
3.	#对sonarqube7.6/conf/sonar.properties进行配置:
  	vim sonarqube7.6/conf/sonar.properties  

	#配置链接的mysql数据库信息
    sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
    sonar.jdbc.username=root
    sonar.jdbc.password=root
    sonar.sorceEncoding=UTF-8
4.	创建一个sonar用户
	useradd sonar
	passwd sonar
5. 	使用sonar用户启动SonarQube,使用root用户会报错(天坑)
	su sonar

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值