服务器上使用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.mzph.cn/news/874395.shtml

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

相关文章

经典网络(一)resnet

参考了网上的一些代码,对resnet有了更深入的理解。因此做了两个类,一个是ResidualChunk,一个是ResNet18。如果使用了nn.BatchNorm2d,则在conv函数中设置bias是无用的,可以设置为False。 在下面会列出来实践的代码,其中…

Linux中的时间函数

参考: 几种取时间的方法(附代码) Linux中gmtime和localtime的区别(time_t格式转换为tm格式) C 库函数 - time() mktime和localtime_r能在多线程环境下使用么? Linux_C环境编程:时间日期函数总结 细说时间测量RDT…

docker php8.1+nginx base 镜像 dockerfile 配置

这个是docker 配置的base dockerfile 如果搭建phpnginx 环境,可以直接使用这个dockerfile配置。直接在你代码里面的dockerfile 引用此基础镜像。 # 使用官方的 PHP 镜像作为基础镜像 FROM php:8.1-fpm # 更换国内源并安装系统依赖 RUN rm -rf /etc/apt/sources.l…

Matlab得到无背景透明图片

注意:本方法是复制得到透明图片,不是保存得到透明图 !!! matlab画图 设置窗口属性背景为“无”,可以代码设置,也可以在图窗属性里编辑 在:“工具”菜单子菜单中单击“复制属性”&…

利用代理IP爬取当当网数据做数据分析

利用代理IP爬取当当网(或其他任何网站)的数据进行数据分析是一个涉及多个步骤和技术的过程。这个过程需要谨慎处理,以确保遵守相关法律法规和网站的robots.txt文件以及服务条款,避免给网站服务器带来不必要的负担,以及防止自己的IP地址被封禁。以下是实现这一过程的一般步…

探索NVM:让Node.js开发如虎添翼的利器

文章目录 前言一、NVM简介:版本管理的瑞士军刀二、NVM能解决什么问题?三、如何使用NVM​?总结 前言 在这个日新月异的编程世界里,Node.js凭借其高效的非阻塞I/O操作和轻量级的事件驱动模型,成为了全栈开发、微服务架构…

音视频入门基础:H.264专题(16)——FFmpeg源码中,判断某文件是否为H.264裸流文件的实现

一、引言 通过FFmpeg命令可以判断出某个文件是否为AnnexB格式的H.264裸流: 所以FFmpeg是怎样判断出某个文件是否为AnnexB格式的H.264裸流呢?它内部其实是通过h264_probe函数来判断的。从文章《FFmpeg源码:av_probe_input_format3函数分析》中…

winfrom 文件自动生成

数据页面展示 添加定时器执行每个表数据的生成计划 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.IO; using System.Windows.Forms; using …

数据结构代码

文章目录 线性表的插入线性表的删除单链表的建立栈的顺序存储队列的顺序存储串的顺序存储树的存储二叉树遍历前序遍历中序遍历后序遍历 二分法插入排序利用普里姆算法构造最小生成树 线性表的插入 #a: 列表,pos: 要插入的位置,key: 要插入的数据&#x…

github搜索指令

in:根据某个关键词进行检索 关键词: name:项目名称 description:项目描述 readma:项目帮助文档 语法: 需要检索的内容:in:name或description或readme 单独使用: (1)例如:检索项目…

【STM32嵌入式系统设计与开发---拓展】——1_11_1串口通信(USART)

这里写目录标题 1、一般我们都怎么进行通信的?(1)串行通行(Serial Communication)(2)并行通信(3)无线网络通信(4)网络通信(5&#xff…

Django [实战] 通过表单上传文件

在Django中上传文件通常涉及到以下几个步骤: 设置你的模型以包含一个FileField或ImageField(如果上传的是图片)。创建一个表单,该表单包含一个Form或ModelForm,其中包含一个FileField。在你的视图中处理上传的文件。在…

Modbus转BACnet/IP网关快速对接Modbus协议设备与BA系统

摘要 在智能建筑和工业自动化领域,Modbus和BACnet/IP协议的集成应用越来越普遍。BA(Building Automation,楼宇自动化)系统作为现代建筑的核心,需要高效地处理来自不同协议的设备数据,负责监控和管理建筑内…

可以免费合并pdf的软件 合并pdf文件的软件免费 合并pdf的软件免费

在数字化办公的今天,pdf格式因其稳定性和跨平台兼容性被广泛使用。然而,当我们需要将多个 pdf 文件合并为一个时,却往往感到力不从心。本文将为你介绍几款强大的pdf文件合并软件,让你轻松管理文档。 方法一、使用pdf转换器 步骤1…

使用Spring Boot实现居民身份证合法性验证

使用Spring Boot实现居民身份证合法性验证 在现代社会中,身份证号码的合法性验证是很多系统中不可或缺的一部分。身份证号码用于确认个人身份,其格式和校验机制各不相同。本文将介绍如何使用Spring Boot构建一个通用控制器,通过API来验证中国…

easyExcel和poi的版本对应

easypoi3.0.5对应的poi版本_easypoi和poi版本对应-CSDN博客 https://github.com/alibaba/easyexcel/blob/v3.2.0/pom.xml 解决 java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoader 报错-CSDN博客 参考这个文档解决的- 引入最佳版本是3.15版本 java.lang.NoClas…

微服务:网关

网关 网关,即网络的关口,当一个网络传输到另一个网络时就需要经过网关来实现 数据的路由和转发 以及 数据安全的校验 网关技术实现 SpringCloudGateWay: 基于Spring的WebFlux技术,完全支持响应式编程,吞吐能力更强 SpringCloudGateWay 依赖 <!--网关--><depe…

【Rust光年纪】数据科学与机器学习:深入了解Rust语言中的6个关键库

Rust语言中的数据科学和机器学习&#xff1a;六大库全面解析 前言 随着Rust语言的不断发展&#xff0c;越来越多的优秀库和框架涌现出来&#xff0c;为不同领域的开发者提供了丰富的选择。本文将介绍一些适用于Rust语言的机器学习、数据处理和自然语言处理领域的优秀库和框架…

JAVA毕业设计152—基于Java+Springboot+vue+小程序的个人健康管理系统小程序(源代码+数据库+15000字论文)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue小程序的个人健康管理系统小程序(源代码数据库15000字论文)152 一、系统介绍 本项目前后端分离带小程序(可以改为ssm版本)&#xff0c;分为用户、管理员两种…

Ubuntu下载jdk:cannot execute binary file

虚拟机上Ubuntu系统安装jdk且配置环境之后&#xff0c;java -version显示cannot execute binary file&#xff0c;多番查阅推测是由于系统和jdk版本不兼容的原因。 uname -m查看系统版本位i686&#xff0c;是32位的&#xff0c;和64位的jdk版本不兼容。因此&#xff0c;下载32位…