服务器上使用Docker部署sonarQube,并集成到Jenkins实现自动化。

目标是要在目标服务器上使用docker工具部署好sonar环境,然后再集成到Jenkins中实现自动化的代码审查工作。

Docker

首先Dokcer的源大部分现在都用不了,于是我上网查询,终于找到了一个可用的镜像。

编辑/etc/docker/daemon.json文件,在里面添加下面的内容:
 

{ "registry-mirrors" : [ "https://docker.m.daocloud.io", "https://noohub.ru", "https://huecker.io","https://dockerhub.timeweb.cloud" ] 
}

然后重启一下docker服务就可以使用正常使用docker了。

sonar

使用docker部署sonar环境特别简单,只需要两行代码,但是在没有考虑好sonar版本和java版本的对应情况下,我第一遍部署的环境无法使用,因为目前最新的sonar版本要求java17以上,而我的jenkins里面配置的两个java,一个是1.8,一个是11版本,所以我需要降低sonar版本,读者可以根据自己需要去进行选择下载对应版本的sonar或者java。同时sonar7.9以上就不再支持mysql了。

docker pull sonarqube:7.8-communitydocker run -itd --name sonarqube:7.8-community -p 9000:9000 sonarqube:7.8-community

执行上面两行代码。即可成功安装sonarqube,在浏览器中输入ip加端口9000即可进入。默认初始用户名密码是admin和admin。

Jenkins集成

1.下载插件

首先要在Jenkins的插件管理中下载使用sonar时对应的插件sonarqube scanner。

2.配置服务端

然后需要在系统配置中配置好sonarqube的服务端,填写好目标路径,就是IP地址:9000端口的那个路径。

在这里,还需要配置一下凭证,打开sonar网页端.

点击右上角的my account

在security一栏中,创建一个token

然后把创建出来的token复制一下,粘贴到Jenkins中下面的创建凭证中。注意,类型选择secret text。

3.最后,在全局工具管理中,再配置一下sonarqube scanner

这样就可以在工程中使用sonar了。

4.创建一个jenkins项目,在增添构建步骤一栏选择下面的。

结合下面的这段代码即可。

sonar.projectName=${JOB_NAME} 	#项目在sonarqube上的显示名称
sonar.projectKey=${JOB_NAME} 	#项目的唯一标识,不能重复
sonar.sources=. 	#扫描哪个项目的源码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/383962.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lua 游戏架构 之 游戏 AI (五)ai_autofight_find_way

这段Lua脚本定义了一个名为 ai_autofight_find_way 的类,继承自 ai_base 类。 lua 游戏架构 之 游戏 AI (一)ai_base-CSDN博客文章浏览阅读238次。定义了一套接口和属性,可以基于这个基础类派生出具有特定行为的AI组件。例如&…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第三十八章 驱动模块编译进内核

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

Golang | Leetcode Golang题解之第279题完全平方数

题目: 题解: // 判断是否为完全平方数 func isPerfectSquare(x int) bool {y : int(math.Sqrt(float64(x)))return y*y x }// 判断是否能表示为 4^k*(8m7) func checkAnswer4(x int) bool {for x%4 0 {x / 4}return x%8 7 }func numSquares(n int) i…

【快速逆向二/无过程/有源码】掌上高考—2024高考志愿填报服务平台

逆向日期:2024.07.21 使用工具:Node.js 加密工具:Crypto-js标准库 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js 标准算法&…

深蓝学院 机器人操作系统ROS理论与实践(四)

一、机器人是什么? 机器人是如何组成的(控制的角度) 二、机器人系统构建 执行机构的实现——机器人底盘、电机、舵机等 驱动系统的实现 内部传感器的实现 控制系统的实现 外部传感系统的实现——摄像头、激光雷达、GPS等 1、连接摄像头 …

STM32——GPIO(点亮LEDLED闪烁)

一、什么是GPIO? GPIO(通用输入输出接口): 1.GPIO 功能概述 GPIO 是通用输入/输出(General Purpose I/O)的简称,既能当输入口使用,又能当输出口使用。端口,就是元器件…

uniapp手写滚动选择器

文章目录 效果展示HTML/Template部分&#xff1a;JavaScript部分&#xff1a;CSS部分&#xff1a;完整代码 没有符合项目要求的选择器 就手写了一个 效果展示 实现一个时间选择器的功能&#xff0c;可以选择小时和分钟&#xff1a; HTML/Template部分&#xff1a; <picker…

【OpenCV C++20 学习笔记】扫描图片数据

扫描图片数据 应用情景图像数据扫描的难点颜色空间缩减&#xff08;color space reduction&#xff09;查询表 扫描算法计算查询表统计运算时长连续内存3种扫描方法C风格的扫描方法迭代器方法坐标方法LUT方法 算法效率对比结论 应用情景 图像数据扫描的难点 在上一篇文章《基…

调度子系统在特定时间执行

时序逻辑调度器设计模式允许您安排Simulink子系统在指定时间执行。以下模型说明了这种设计模式。 时序逻辑调度器图表包含以下逻辑&#xff1a; 时序逻辑调度器的关键行为 时序逻辑调度器图表包含两个状态&#xff0c;它们以不同的速率调度函数调用子系统A1、A2和A3的执行&…

【管控业财一体化】

1. 引言 大型集团在现代企业管理中扮演着举足轻重的角色&#xff0c;其管控业财一体化解决方案是实现企业高效运营的关键。随着数字化转型的加速&#xff0c;业财一体化不再局限于财务与业务流程的简单融合&#xff0c;而是向着更深层次的数据驱动、智能化决策和价值创造方向发…

Python小工具——监听某网站的数据变化并进行邮件通知

目录 一、需求描述 二、解析 三、实例代码 一、需求描述 监听自考网2024年广东省6月份的毕业生学历注册进度&#xff0c;这是网址&#xff1a;https://www.chsi.com.cn/xlcx/count_zk.jsp&#xff0c; 如上图所示&#xff0c;我们想知道这个红色的空格啥时候被填满&#xf…

7月26日贪心练习-摆动序列专题

前言 大家好&#xff0c;今天学习用贪心思想解决摆动序列问题&#xff0c;共三题&#xff0c;分享自己的思路&#xff0c;请大家多多支持 算法思想 大家可以先看看这道我们后面会讲的题看看怎么个事&#xff0c;. - 力扣&#xff08;LeetCode&#xff09; 由此题题解说明算…

SwiftSage:参考人脑双系统,结合快思和慢想的智能体,解决复杂任务同时降低成本

SwiftSage&#xff1a;参考人脑双系统&#xff0c;结合快思和慢想的智能体&#xff0c;解决复杂任务同时降低成本 提出背景解法拆解子解法1&#xff1a;SWIFT模块子解法2&#xff1a;SAGE模块模块整合和决策树逻辑链 SwiftSage 工作流程效果 论文&#xff1a;SWIFTSAGE: A Gene…

GMSSL2.x编译鸿蒙静态库和动态库及使用

一、编译环境准备 1.1 开发工具 DevEco-Studio下载。 1.2 SDK下载 下载编译第三方库的SDK有两种方式&#xff0c;第一种方式从官方渠道根据电脑系统选择对应的SDK版本&#xff0c;第二种方式通过DevEco-Studio下载SDK。本文只介绍通过DevEco-Studio下载SDK的方式。 安装SD…

SSD基本架构与工作原理

SSD的核心由一个或多核心的CPU控制器、DRAM缓存以及多个NAND闪存芯片组成。CPU控制器负责管理所有读写操作&#xff0c;并通过DRAM缓存存储映射表等元数据&#xff0c;以加速寻址过程。 NAND闪存则是数据存储的实际介质&#xff0c;其组织结构从大到小依次为通道&#xff08;包…

海山数据库(He3DB)性能优化方案解析

前端优化是一个永恒的话题&#xff0c;每个前端开发者都希望自己的页面能够快速加载&#xff0c;给用户良好的体验。但往往事与愿违。因此&#xff0c;本文从编码优化、构建优化、部署优化三方面入手进行web页面性能优化。 1. 编码优化 1.1. Css优化 1.1.1. 合理使用css选择…

HarmonyOS NEXT零基础入门到实战-第四部分

自定义组件: 概念: 由框架直接提供的称为 系统组件&#xff0c; 由开发者定义的称为 自定义组件。 源代码&#xff1a; Component struct MyCom { build() { Column() { Text(我是一个自定义组件) } } } Component struct MyHeader { build() { Row(…

【React】package.json 文件详解

文章目录 一、package.json 文件的基本结构二、package.json 文件的关键字段1. name 和 version2. description3. main4. scripts5. dependencies 和 devDependencies6. repository7. keywords8. author 和 license9. bugs 和 homepage 三、package.json 文件的高级配置1. 配置…

十、SpringBoot 统⼀功能处理【拦截器、统一数据返回格式、统一异常处理】

十、SpringBoot 统⼀功能处理 1. 拦截器【HandlerInterceptor、WebMvcConfig】1.1 拦截器快速⼊⻔⾃定义拦截器&#xff1a;实现HandlerInterceptor接⼝&#xff0c;并重写其所有⽅法注册配置拦截器&#xff1a;实现WebMvcConfigurer接⼝&#xff0c;并重写addInterceptors⽅法…

压测实操--produce压测方案

作者&#xff1a;九月 环境信息&#xff1a; 操作系统centos7.9&#xff0c;kafka版本为hdp集群中的2.0版本。 Producer相关参数 使用Kafka自带的kafka-producer-perf-test.sh脚本进行压测&#xff0c;该脚本参数为&#xff1a; 在producer涉及到性能的关键因素可能会存在如…