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

sonarqube+SonarScanner+postpresql+jenkins

本地执行参考这篇

sonarqube+SonarScanner+PostgreSQL实现代码质量扫描(windows)_sonarqube 10.7部署-CSDN博客

集成到Jenkins中操作如下

在 Jenkins 中安装 SonarQube Scanner 和配置 Job
1、安装 SonarQube Scanner 插件:

在 Jenkins 的管理界面中,进入 “Manage Jenkins” -> “Manage Plugins”,搜索并安装 “SonarQube Scanner” 插件。

 

2. 配置SonarQube服务器
​进入系统配置
在Jenkins的“Manage Jenkins”页面中,点击“Configure System”。
​添加SonarQube服务器
在“SonarQube servers”部分,点击“Add SonarQube”。
​Name:给SonarQube服务器取一个易于识别的名称,例如 “SonarQube”。
​Server URL:输入SonarQube服务器的URL,例如 http://localhost:9000(如果SonarQube安装在本地且默认端口为9000)。
​Server authentication token:
在SonarQube服务器上生成一个令牌。登录SonarQube,进入“My Account” -> “Security” -> “Generate Tokens”,创建一个新的令牌并复制。
将复制的令牌粘贴到Jenkins中的“Server authentication token”字段,类型为secret text
 

 

 

 

 3. 配置SonarQube Scanner
​进入全局工具配置
在Jenkins的“Manage Jenkins”页面中,点击“Global Tool Configuration”。
​添加SonarQube Scanner
在“SonarQube Scanner”部分,点击“Add SonarQube Scanner”。
​Name:给SonarQube Scanner取一个名称,例如 “SonarScanner”(版本号可根据实际安装情况填写)。
​Install automatically:可以选择自动安装特定版本的SonarQube Scanner,也可以手动指定已安装的SonarQube Scanner的路径。

 

4. 在Jenkins项目中集成SonarQube扫描
​打开项目配置
在Jenkins中找到要集成SonarQube扫描的项目,点击项目名称进入项目配置页面。
​添加构建步骤
在“Build”部分,点击“Add build step”,选择“Execute SonarQube Scanner”。
​配置扫描参数
​Analysis properties:
可以通过直接输入或者在项目的根目录下创建 sonar - project.properties 文件来指定分析属性。如果选择直接输入,以下是一些常见的属性示例:
sonar.projectKey=your_project_key:项目的唯一标识符,在SonarQube中用于区分不同项目。
sonar.projectName=Your Project Name:项目的显示名称。
sonar.projectVersion=1.0:项目的版本号。
sonar.sources=src:指定要进行代码分析的源文件目录。
sonar.java.binaries=target/classes(对于Java项目):指定编译后的类文件目录。

例如配置 SonarQube Scanner 的参数,

/path/to/sonar-scanner/bin/sonar-scanner \
-Dsonar.projectKey=my_project_key \
-Dsonar.sources=. \
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.login=<Your_SonarQube_Token> \
-Dsonar.jdbc.url=jdbc:postgresql://localhost/sonar \
-Dsonar.jdbc.username=sonar \
-Dsonar.jdbc.password=sonar

如果使用SonarQube Scanner的配置文件方式,可以在“Analysis properties”中指定配置文件的路径,例如 sonar - scanner - Dsonar.projectKey = your_project_key。 

确保替换 <Your_SonarQube_Token> 为你的 SonarQube 生成的 Token。你可以在 SonarQube UI 中生成一个 Token。

保存并运行 Jenkins Job:保存你的 Jenkins Job 配置并运行它,SonarScanner 将执行代码扫描并将结果发送到 SonarQube。

 

 

5. 运行构建并查看结果
​构建项目
在Jenkins项目中点击“Build Now”来触发构建过程,这个过程将包含SonarQube扫描步骤。
​查看SonarQube分析结果
构建完成后,在Jenkins的构建结果页面中,可以看到SonarQube扫描的结果摘要。
点击“SonarQube analysis”链接,可以直接跳转到SonarQube服务器上该项目的详细分析报告页面,在那里可以查看代码质量、漏洞、代码异味等详细信息。

 

相关文章:

sonarqube+SonarScanner+postpresql+jenkins

本地执行参考这篇 sonarqubeSonarScannerPostgreSQL实现代码质量扫描&#xff08;windows&#xff09;_sonarqube 10.7部署-CSDN博客 集成到Jenkins中操作如下 在 Jenkins 中安装 SonarQube Scanner 和配置 Job 1、安装 SonarQube Scanner 插件&#xff1a; 在 Jenkins 的管理…...

牛客周赛Round 84

本场比赛难度不大&#xff0c;也是本人第一次AK&#xff0c;最后一题用组合数学推公式&#xff0c;本篇博客主要讲解最后一题的思路 G-小红的陡峭值&#xff08;五&#xff09;&#xff08;hard&#xff09;_牛客周赛 Round 84 思路&#xff1a;本题要我们求p/q mod M ,即p*&am…...

TDengine 配置 ODBC 数据源

简介 TDengine ODBC 是为 TDengine 实现的 ODBC 驱动程序&#xff0c;支持 Windows 系统的应用&#xff08;如 PowerBI 等&#xff09;以及用户自定义开发的应用程序&#xff0c;通过 ODBC 标准接口访问本地、远程和云服务的 TDengine 数据库。 TDengine ODBC 提供基于 WebSo…...

numpy常用函数详解

在深度神经网络代码中经常用到numpy库的一些函数&#xff0c;很多看过之后很容易忘记&#xff0c;本文对经常使用的函数进行归纳总结。 np.arange arange是numpy一个常用的函数&#xff0c;该函数主要用于创建等差数列。它的使用方法如下所示&#xff1a; numpy.arange([star…...

deepseek 3FS编译

3FS在ubuntu22.04下的编译&#xff08;记录下编译过程&#xff0c;方便后续使用&#xff09; 环境信息 OS ubuntu 22.04内核版本 6.8.0-52-genericlibfuse 3.16.1rust 1.75.0FoundationDB 7.1.66meson 1.0.0ninja 1.10.1 libfuse编译 以下建议均在root下执行 pip3 install…...

【CXX】6.2 str — rust::Str

Rust::Str 公共 API // rust/cxx.hclass Str final { public:Str() noexcept;Str(const Str &) noexcept;Str(const String &) noexcept;// 如果输入不是 UTF-8&#xff0c;抛出 std::invalid_argument 异常。Str(const std::string &);Str(const char *);Str(con…...

制作三维软件学习路线

制作三维软件是一项复杂而富有挑战性的任务&#xff0c;涉及多个领域的知识。下面是一个建议的学习路线&#xff0c;涵盖从基础到高级的知识和技能。你可以根据自己的背景和兴趣进行调整。 ### 1. 编程基础 - **学习编程语言**&#xff1a;C或Python是常用的语言&#xff0c;了…...

【RabbitMQ】事务

事务的简单配置及使用 配置事务管理器声明队列生产者代码测试 RabbitMQ是基于AMQP协议实现的&#xff0c;该协议实现了事务机制&#xff0c;因此RabbitMQ也支持事务机制. SpringAMQP也提供了对事务相关的操作.RabbitMQ事务允许开发者确保消息的发送和接收是原子性的&#xff0c…...

常见的交换机端口类型

在计算机网络中&#xff0c;Access端口 和 Trunk端口 是两种常见的交换机端口类型&#xff0c;主要用于VLAN&#xff08;虚拟局域网&#xff09;的配置。它们的主要区别在于如何处理VLAN标签和数据帧。 1. Access端口 Access端口通常用于连接终端设备&#xff08;如PC、打印机…...

Linux Shell 脚本编程极简入门指南

一、学习前提准备 ✅ 环境要求&#xff1a; Linux系统&#xff08;Ubuntu/CentOS等&#xff09;或 WSL (Windows用户) 任意文本编辑器&#xff08;推荐VSCode/Vim&#xff09; 基础命令行操作能力 &#x1f50d; 验证环境&#xff1a; # 查看系统默认Shell echo $SHELL #…...

【医院管理会计专题】7.解锁本量利分析:医院医疗服务决策的智慧密码

医院成本核算、绩效管理、运营统计、内部控制、管理会计专题索引 一、引言 在当今医疗行业竞争日益激烈的背景下,医院管理面临着诸多挑战,如何实现高效运营、提升服务质量并控制成本成为关键问题。管理会计作为一种重要的管理工具,在医院管理中发挥着越来越重要的作用。本…...

Kotlin和Java区别

哈哈哈&#xff0c;前段时间&#xff0c;面试的时候&#xff0c;突然问到我Kotlin和Java的区别&#xff0c;一下子把我问懵逼了&#xff0c;确实没遇到问这个的&#xff0c;想了下&#xff0c;说了下Kotlin的编译时空检查机制&#xff0c;代码更简洁&#xff0c;很多封装好的AP…...

Taro 面试题

基础概念 1. Taro 是什么&#xff1f;它的核心特点有哪些&#xff1f; Taro 是京东开源的 多端统一开发框架&#xff0c;基于 React 语法&#xff0c;可编译到 微信小程序、H5、React Native 等多个端。 核心特点&#xff1a; 多端适配&#xff1a;一套代码运行多个端支持 …...

Java部署在window启动报unable tocreate tempdir

在Windows系统中&#xff0c;Java应用在运行时会试图在默认的临时目录中创建文件。该临时目录通常由系统环境变量TEMP或TMP指定。如果这些变量设置不正确、指向一个无效的路径&#xff0c;或者操作系统的权限不足&#xff0c;就会导致“Unable to create tempdir”错误。 解决…...

基于deepseek和开放题库,构建专业大模型微调在线答题系统

为什么要进行大模型微调 大模型微调是将预训练模型适配到特定任务或领域的关键技术&#xff0c;正常情况下大模型通过海量通用数据训练获得广泛知识&#xff0c;但其参数和表征空间面向通用场景&#xff0c;难以直接适配垂直领域或复杂任务。例如在通用医疗问答模型在具体病症诊…...

ios 小组件和数据共享

创建主工程就不必讲了 1 创建小组件 创建子工程 [new Target ] 选择 [ Widger Extension] 小组件入口是WidgetBundle文件&#xff0c;可以进行多个小组件的调试 TestWidget2文件是主要操作&#xff0c;小组件使用swiftUI布局&#xff0c;使用 AppIntent进行事件处理&#xff…...

LVTTL(Low Voltage Transistor-Transistor Logic)电平详解

一、LVTTL电平的定义与核心特性 LVTTL&#xff08;低压晶体管-晶体管逻辑&#xff09;是传统TTL&#xff08;5V&#xff09;的低电压版本&#xff0c;工作电压通常为3.3V&#xff0c;旨在降低功耗并适配现代低电压集成电路&#xff0c;同时保持与TTL的逻辑兼容性。其核心特点如…...

element tree树形结构默认展开全部

背景&#xff1a; el-tree树形结构&#xff0c;默认展开全部&#xff0c;使用属性default-expand-all【是否默认展开所有节点】&#xff1b;默认展开一级&#xff0c;设置default-expanded-keys【默认展开的节点的 key 的数组】属性值为数组。 因为我这里的数据第一级是四川【省…...

统计登录系统10秒内连续登录失败超过3次的用户

为防止暴力破解用户账号的行为&#xff0c;在输入账号和密码时一般都会限制用户尝试密码输出错误的次数&#xff0c;如果用户多次输错密码后&#xff0c;将在一段时间内锁定账号&#xff0c;常见的有银行类APP、个税App等应用&#xff0c;如下是用户账号密码输入错误的提示图&a…...

音视频软件工程师面试题

一、基础知识 编解码相关 H.264 和 H.265(HEVC)的主要区别是什么?视频编解码的基本流程是什么?关键技术有哪些?音频编解码(如 AAC、MP3、Opus)的区别和应用场景?什么是 B 帧、P 帧、I 帧?它们的作用是什么? 流媒体协议RTMP、HTTP-FLV、HLS、WebRTC 的区别和应用场景…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...