sonarQube(代码扫描工具)安装配置

article/2025/10/24 12:38:32

sonarqube使用介绍@[TOC]sonarqube使用介绍

sonarQube使用介绍

  • 本文不讲解 什么是sonarQube,请自行了解

sonarQube安装

sonarQube分为2个 部分

  1. sonarQube 展示扫描结果;
  2. sonarScanner 扫描工具;

环境

  • jdk11+;sonarQube的运行需要

安装包下载

  1. sonarQube官网地址 : https://www.sonarqube.org/downloads/
  2. sonar-scanner官网地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
  3. 注意选择sonar-scanner的版本选择需要根据sonarQube决定,
    在这里插入图片描述
  4. 数据库包,推荐使用PostgreSQL:官网地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads,(源码地址)https://www.postgresql.org/ftp/source/,如果环境是linux环境且有网络,可直接使用yum安装
    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    sudo yum install -y postgresql14-server
    sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
    sudo systemctl enable postgresql-14
    sudo systemctl start postgresql-14

安装

  1. sonarQube和sonarScanner都是免安装的,直接解压即可,同时将sonarScanner加入环境变量(bin目录路径,方便调用)
  2. 数据库postgresql ,如果是windows的这直接安装,全选默认,若为linux yum安装,直接安装(见安装包下载4数据库包)

环境配置

  1. sonarQube关联数据库
    window: https://www.cnblogs.com/Simple-Small/p/12882948.html
    linux:
    安装完后会自动创建postgres用户 su - postgres切换进去
    psql 进入命令行模式
    create database sonar; 创建sonar数据库
    create user sonar; 创建sonar用户
    atler user sonar with password ‘postgres’; 设置sonar用户密码(否则会导致连不上数据库)
    alter role sonar createdb;alter role sonar superuser;alter role sonar createrole;给sonar授权
    alter database sonar owner to sonar;更改sonar数据库拥有者(这一步是必须的,否则会sonarqube会连接失败)
    进入下面目录
    在这里插入图片描述
    修改用户/密码为上面数据库对应
    在这里插入图片描述
    原文链接:https://blog.csdn.net/qq_42207325/article/details/100998453 2. 关联数据库,启动sonarQube,进入下面目录,根据当前系统选择相应的目录直接运行
    在这里插入图片描述
    linux:直接运行下面脚本sh sonar.sh (选项:start、stop、status、console起不来用这个看看)
    在这里插入图片描述
    windows:
    在这里插入图片描述
    启动后网页打开http://localhost:9000/ 进入sonarQube 的web界面,默认用户密码:admin\admin
  2. sonarScanner关联sonarQube,修改sonarScanner目录下的文件,后2项为sonarQube 的web界面的登录
    在这里插入图片描述

C++、C支持

sonarQube 社区版不支持c++、c代码扫描,需要用到其他的扫描工具cppcheck
下载地址:https://cppcheck.sourceforge.io/
安装后加入环境变量(bin目录路径,),方便调用
linux :可直接使用yum 安装

sonarQube 安装c++报告解析插件:https://github.com/SonarOpenCommunity/sonar-cxx/releases
将插件放到sonarqube-8.9.6.50800\extensions\plugins 目录下,重启sonarQube
在这里插入图片描述

项目扫描

带c++\c的项目,需要先扫描C++\C 使用前面安装的cppcheck工具,命令为:
cppcheck --xml --xml-version=2 --enable=all ./ 2> cppcheck-report.xml

扫描完成后,在项目所在根目录配置一下文件和内容:例
在这里插入图片描述
下面2项将在sonarQube Web界面显示为该项目的名称

  • sonar.projectKey=java
  • sonar.projectName=java

sonar.sourceEncoding=UTF-8 :原代码的编码规则
sonar.sources=. :要扫描的目录\文件
sonar.java.binaries=src:java源代码的编译文件路径
sonar.cxx.cppcheck.reportPaths=reports/cppcheck.xml:如有c++、c代码则添加,值为cppcheck扫描结果所在路径

最后在sonar-project.properties所在目录 执行sonar-scanner

待完成后就可在web界面查看扫描结果

最后,温馨提示:sonarQube 扫描结果的指标意义请查看官方文档:https://docs.sonarqube.org/8.9/user-guide/metric-definitions/


http://chatgpt.dhexx.cn/article/5k7iLvl7.shtml

相关文章

Java学习之代码扫描工具的使用方法

有些刚进行Java学习的小伙伴对Java代码扫描工具还不是很了解,不知道该如何使用,下面千锋重庆的小编就来告诉大家使用方法。 1.插件的安装 由于使用的mac所有以Mac下idea插件安装流程为例,首先进入idea的preferences,点击plugin选…

静态代码扫描工具(多种)简要入门介绍-SonarQube社区版-免费、TscanCode工具、PMD工具、flake8工具

SonarQube社区版-免费 适用语言:Java, C#, JavaScript, TypeScript, CloudFormation, Terraform, Kotlin, Ruby, Go, Scala, Flex, Python, PHP, HTML, CSS, XML and VB.NET 下载安装 由于实际操作中,JDK版本的限制,8及以下,进入…

《Python代码审计》(1)一款超好用的代码扫描工具

1.前言 从本文开始,我将开始介绍Python源代码审计,代码审计是检查源代码中的安全缺陷,检查源代码是否存在安全隐患,或者编码不规范的地方。通常使用自动化工具或者人工审查的方式,自动化工具效率高,但是误…

java 静态扫描_静态代码扫描工具 – (八)- 扫描Java项目

静态代码扫描工具 – (八)- 扫描Java项目 1、准备好Java项目代码 只要是java语言实现的项目均可。 比如,自动化测试的代码,测试平台等均可以。 本次案例,使用java语言实现的测试平台来做为扫描对象。 2、了解java项目代码的结构。 为什么要了…

Android和iOS静态代码扫描工具

Android 名称 来源 功能特点 检查SQL注入 检查NullPointException 支持IDE情况 Android Lint Android SDK 针对Android,检查范围广 否 是 Eclipse、Android Studio FindBugs 国外 针对Java程序,失去对Android特性的检查 否 是 Eclipse、…

[C++]TscanCode代码扫描工具

TscanCode介绍 TscanCode 是腾讯研发的静态代码扫描工具,最早的版本是基于 cppcheck 二次开发。之后又重新自研,不仅支持 C,还支持 C#,Lua 语言,在发掘 C 空指针、越界、未初始化、C#空引用、Lua变量未初始化等比较有…

源代码扫描工具

1. DMSCA-企业级静态源代码扫描分析服务平台 系统架构 客户可以通过Internet或者局域网络 从浏览器、Eclipse、Visual Studio 、命令行 、甚至 Web 服务访问DMSCA 服务平台,上传扫描代码,选择扫描策略,自动化扫描, 并利用平台可视…

Fortify代码扫描工具

一、Fortify介绍 Fortify是一款强大的静态代码扫描分析工具,其发现代码漏洞缺陷的能力十分强悍,主要是将代码经过编译,依托于其强大的内置规则库来发现漏洞的。其次fortify SCA团队在开发此商业工具时,也提供了自定义规则的…

四款优秀的源代码扫描工具简介

转载于:https://www.cnblogs.com/xiaominggong/archive/2019/05/06/10821005.html 一、DMSCA-企业级静态源代码扫描分析服务平台 端玛企业级静态源代码扫描分析服务平台(英文简称:DMSCA)是一个独特的源代码安全漏洞、质量缺陷和逻…

SonarQube代码扫描工具

SonarQube(社区版) SonarQube是一个用于代码质量管理的开放平台,通过插件机制,SonarQube可以集成不同的测试工具,代码分析工具,以及持续集成工具,例如Hudson/Jenkins等。 sonarqube的七个维度检测代码质量: 复杂度分布:代码复杂度过高将难以理解重复代码:程序中包含…

java代码扫描工具比较_代码扫描工具的选型和Sonar最佳实践

目标 在编码阶段发现NNE空指针异常、IO流未正确关闭等致命性bug,杜绝此类“零容忍”线上异常的发生。 技术选型 关于代码扫描工具,比较主流的有Sonar、FindBugs、Alibaba Java Coding Guidelines、CheckStyle。 Alibaba Java Coding Guidelines最大的优点是全中文的提示,对国…

静态代码扫描工具汇总

一、概述 在软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷。传统的代码评审、同事复审,通过人工方式来检查缺陷仍然是一件耗时耗力的事情。而静态代码扫描工具能够在代码构建过程中帮助开发人员快速、有效的定位代码缺陷并及时…

用户行为序列推荐模型

导读:今天我们谈谈用户行为序列上的推荐模型。首先我们对序列推荐问题做一个定义和描述,然后主要讲述可以用在序列推荐任务中的 NN 模型,最后给出一点个人看法以及文中相关的参考文献供参阅。 用户行为大多数情况下都是存在时间上的先后关系…

用户兴趣模型分类以及推荐系统技术调研

用户兴趣模型分类 根据用户之前在相关网站的行为数据记录分析出用户的兴趣和偏好,然后根据不同用户兴趣和偏好不同为其推荐不同的内容,这种新的信息获取方式被称为个性化推荐技术。 个性化新闻推荐系统中常用的几种用户兴趣建模方法: &…

用户生命周期模型

本文转载自: https://blog.csdn.net/l18930738887/article/details/50818878 一、为什么要定义用户生命周期? 用户生命周期是为了定位每个用户在哪个阶段,对于某个阶段的用户进行不同的营销策略。比如初期用户:还没有养成使用习…

Django重写User模型修改明文密码加密方法

由于继承Django的User列表会导致创建新用户的密码为明文,导致无法正常登陆,因此需要修改adminx中的部分配置实现原始的用户密码记录功能。 从这样的界面进入注册用户的密码就是加密的密码效果了,否则是显示明文密码非加密状态。 文章目录 实现步骤实现步骤 需要在项目的m…

【模型理解】KANO模型

前言 在大量的需求需要进行迭代时,由于时间、人力、财力等相关因素干扰,无法在有限的时间内容对所有的需求进行满足,此时需要我们对需求进行优先级的排列。最大化的合理的提高有限资源的使用。 在常见的产品优先级区分的方式有时间四象限模…

软件工程的十大模型

1.软件生命周期模型 软件生命周期由软件定义、软件开发与运维(也称软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。 问题定义:“要解决的问题是什么?”通过对客户的访问调查,系统分析员扼要地写出…

SaaS用户管理系统模型设计

最近一直在研究关于SaaS化的用户管理系统,现将项目中的模型做一整理,先贴图: 图中黄色方框:租户/组织、部门、员工 完成的是对整个组织结构及结构中人员分布的管理; 图中绿色方框:系统用户(包括…

认识每一个“你”:微博中的用户模型

社交媒体(Social Media)相对于传统互联网媒体的最大区别是通过建立人与人之间的联系,极大提升了信息生产量以及传播效率。身处社交媒体中的每个人或组织同时扮演着信息生产者、传播者与接受者的角色。 在社交媒体背景下,用户生产…