SonarQube 概述

是一种自动代码审查工具,用于检测代码中的错误、漏洞和代码异味。它可以与您现有的工作流程集成,以支持跨项目分支和拉取请求的持续代码检查。

在一个典型的开发过程中

开发人员在 IDE 中开发和合并代码(最好使用SonarLint在编辑器中接收即时反馈)并将他们的代码签入到他们的 ALM。

组织的持续集成 (CI) 工具检查、构建和运行单元测试,集成的 SonarQube 扫描器分析结果。

扫描器将结果发布到 SonarQube 服务器,该服务器通过 SonarQube 界面、电子邮件、IDE 内通知(通过 SonarLint)以及对拉取或合并请求的修饰(使用Developer Edition及更高版本时)向开发人员提供反馈。

安装SonarQube

SonarQube 的三种进程

为 SonarQube 用户界面提供服务的 Web 服务器-SonarQube

在您的构建或持续集成服务器上运行的一个或多个扫描器来分析项目-sonarscanner

存储s扫描信息的数据库-PostgreSQL

从 ZIP 文件安装 SonarQube

下载链接:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.1.44547.zip

SonarQube 不能在root基于 Unix 的系统上运行,因此请为 SonarQube 创建一个专用用户帐户

$SONARQUBE-HOME(如下)指的是 SonarQube 发行版解压后的目录路径。

设置对数据库的访问

编辑$SONARQUBE-HOME/conf/sonar.properties以配置数据库设置,只需取消注释并配置您需要的模板

例如使用:PostgreSQL数据库,则进行如下修改

sonar.jdbc.username=sonarqube

sonar.jdbc.password=mypassword

sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube

添加 JDBC 驱动程序

配置 Elasticsearch 存储路径

编辑$SONARQUBE-HOME/conf/sonar.properties以配置以下设置:

sonar.path.data=/var/sonarqube/data
sonar.path.temp=/var/sonarqube/temp

用于启动 SonarQube 的用户必须对这些目录具有读写权限。

启动 Web 服务器

默认端口为“9000”,上下文路径为“/”。

这些值可以在$SONARQUBE-HOME/conf/sonar.properties 中更改:

sonar.web.host=192.168.0.1
sonar.web.port=80
sonar.web.context=/sonarqube

执行以下脚本来启动服务器:

在 Linux 上:bin/linux-x86-64/sonar.sh start
在 macOS 上:bin/macosx-universal-64/sonar.sh start
在 Windows 上:bin/windows-x86-64/StartSonar.bat

您现在可以在http://localhost:9000浏览 SonarQube (默认系统管理员凭据是admin/ admin)。

调整 Java 安装

如果您的服务器上安装了多个 Java 版本,您可能需要明确定义所使用的 Java 版本。

要更改 SonarQube 使用的 Java JVM,请编辑$SONARQUBE-HOME/conf/wrapper.conf并更新以下行:

wrapper.java.command=/path/to/my/jdk/bin/java

SonarQube 概述与安装的更多相关文章

  1. OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务

    OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务   1.  OpenVAS基础知识 OpenVAS(Open Vulnerability Assessment Sys ...

  2. C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节

    C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架.它为应用程序开发者提供建立艺术级图形界面 ...

  3. ElasticSearch入坑指南之概述及安装

    ---恢复内容开始--- ElasticSearch入坑指南之概述及安装 了解ElasticSearch ElasticSearch(简称ES)基于Lucene的分布式全文检索引擎.使用ES可以实现近 ...

  4. Flask 学习(一)概述及安装

    Flask 概述及安装 Flask 简介 Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 . 官方网址 ...

  5. SonarQube 7.7 安装教程

    SonarQube 7.7 安装教程 一. CentOS设置 1. 更换阿里源 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.ali ...

  6. 【转】Struts1.x系列教程(4):标签库概述与安装

    转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/0 ...

  7. MongoDB笔记(一)MongoDB概述和安装

    概述 关键词:关系数据库.非关系数据库 关系数据库: 关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据.目前主流的关系数据库有oracle.SQL.ac ...

  8. Nginx概述和安装(1)

    一.Nginx概述 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 I ...

  9. Keepalived概述和安装(1)

    一.Keepalived概述 本文主要了解开源高可用负载均衡集群利器keepalived,掌握keepalived的安装,运用keepalived配置高可用集群,并能够实现keepalived与负载均 ...

随机推荐

  1. shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件中,进行处理业务逻辑,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。

    shell脚本?在说什么是shell脚本之前,先说说什么是shell. shell是外壳的意思,就是操作系统的外壳.我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包 ...

  2. Python基础 小白[7天]入门笔记

    笔记来源 Day-1 基础知识(注释.输入.输出.循环.数据类型.随机数) #-*- codeing = utf-8 -*- #@Time : 2020/7/11 11:38 #@Author : H ...

  3. linux中级之lvs概念

    一.lvs介绍 LVS的英文全称是Linux Virtual Server,即Linux虚拟服务器.它是我们国家的章文嵩博士的一个开源项目.在linux内存2.6中,它已经成为内核的一部分,在此之前的 ...

  4. Java中生成唯一标识符的方法(Day_48)

    有时候业务需要生成唯一标识符,但又不能依赖于数据库中自动递增的字段产生唯一ID,比如多表同一字段需要统一一个唯一ID,此时我们就需要用程序来生成一个唯一的全局ID. UUID UUID是指在一台机器上 ...

  5. unity ab包打包和加载的简单学习示例

    闲着没事结合项目看了下unity AssetBundle打包和使用,写了一些测试例子,需要的可以拿去,导入一个空项目即可 链接:https://pan.baidu.com/s/1H85dnMNkRoW ...

  6. tomcat---starup.bat点击窗口自动关闭

  7. 如何不做登录请求而获取cookie到Jmeter里

    如何不做登录请求而获取cookie到Jmeter里? 登录被测系统后,按F12,找到如下位置,将这个表格所有信息都复制到Jmeter的HTTP Cookie管理器元件,这样就可以不需要登录,能继续发送 ...

  8. VS Code 调试 OneFlow

    VS Code 调试 OneFlow 本文介绍如何配置 VS Code,搭建 OneFlow 的 GUI 开发环境. 如果对于 VS Code 及其插件系统还不熟悉,可以参阅官方文档. 本文包括: 如 ...

  9. NVIDIA空中导航SDK改造5G通信

    NVIDIA空中导航SDK改造5G通信 Transforming Next-Generation Wireless with 5T for 5G and the NVIDIA Aerial SDK N ...

  10. springcloud-config配置异常Cannot clone or checkout repository 和 Authentication is required but no CredentialsProvider has been registered解决过程

    Cannot clone or checkout repository, 出现这个异常,通过检查是因为自己本地没有配置 ssh,所以配置了, https://blog.csdn.net/zy_2818 ...