服务器上使用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-community

docker 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=. 	#扫描哪个项目的源码

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

医院存储文件采集至关重要,如何可靠安全进行?

医院的存储文件是医院日常运营中不可或缺的一部分,它包括了许多重要的文件类型: 病历档案:包括患者的门诊病历、住院病历、手术记录、护理记录等,是患者医疗过程的重要记录。 文书档案:医院在各项医疗业务活动、职能…

2023河南萌新联赛第(二)场 南阳理工学院

A. 国际旅行Ⅰ 题目&#xff1a; 思路&#xff1a; 因为题意上每个国家可以相互到达&#xff0c;所以只需要排序&#xff0c;输出第k小的值就可以了。 AC代码&#xff1a; #include<bits/stdc.h> #define int long long #define IOS ios::sync_with_stdio(0);cin.tie…

第一批进军AI的大学生,真的赚到钱了吗?

越来越多看到风口的大学生投身AI领域创业&#xff0c;这在ChatGPT&#xff08;美国人工智能公司OpenAI的大语言模型&#xff09;掀起新一轮人工智能浪潮后更加明显。 导读 壹 || 学生所处的学校环境和技术的结合更为紧密&#xff0c;因此学生可以利用这个信息差&#xff0c;用…

ZYNQ 入门笔记(零):概述

文章目录 引言产品线Zynq™ 7000 SoCZynq UltraScale™ MPSoCZynq UltraScale RFSoCVersal™ Adaptive SoC 开发环境 引言 Xilinx FPGA 产品线从经济型的 Spartan、Artix 系列到高性能的 Kintex、Virtex、Versal 系列&#xff0c;可以说涵盖了 FPGA 的绝大部分应用场景&#x…

Python爬虫实战案例(爬取图片)

爬取图片的信息 爬取图片与爬取文本内容相似&#xff0c;只是需要加上图片的url&#xff0c;并且在查找图片位置的时候需要带上图片的属性。 这里选取了一个4K高清的壁纸网站&#xff08;彼岸壁纸https://pic.netbian.com&#xff09;进行爬取。 具体步骤如下&#xff1a; …

使用阿里云云主机通过nginx搭建文件服务器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、准备基础环境二、安装配置nginx三、阿里云安全组配置安全组配置 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/4ee96f38312e4771938e40f463987…

1 go语言环境的搭建

本专栏将从基础开始&#xff0c;循序渐进&#xff0c;由浅入深讲解Go语言&#xff0c;希望大家都能够从中有所收获&#xff0c;也请大家多多支持。 查看相关资料与知识库 专栏地址:Go专栏 如果文章知识点有错误的地方&#xff0c;请指正&#xff01;大家一起学习&#xff0c;…

【C语言】栈的实现(数据结构)

前言&#xff1a; 还是举一个生活中的例子&#xff0c;大家都玩过积木&#xff0c;当我们把积木叠起来的时候&#xff0c;如果要拿到最底部的积木&#xff0c;我们必须从顶端一个一个打出&#xff0c;最后才能拿到底部的积木&#xff0c;也就是后进先出&#xff08;先进后出&a…

项目的小结

1.实现实时聊天 1.服务端建立一个ConcurrentHashMap<> 用来存储在线用户&#xff0c;用户账号和socket然后&#xff0c;如果有个人发了信息&#xff0c;就去数据库中查询&#xff0c;然后根据这个在线用户进行传递信息 服务端框架&#xff1a; public class ServerMain {…

系统架构设计师教程 第4章 信息安全技术基础知识-4.3 信息安全系统的组成框架4.4 信息加解密技术-解读

系统架构设计师教程 第4章 信息安全技术基础知识-4.3 信息安全系统的组成框架 4.3 信息安全系统的组成框架4.3.1 技术体系4.3.1.1 基础安全设备4.3.1.2 计算机网络安全4.3.1.3 操作系统安全4.3.1.4 数据库安全4.3.1.5 终端安全设备4.3.2 组织机构体系4.3.3 管理体系4.4 信息加…

Ubuntu 22.04.4 LTS (linux) Tomcat 项目部署

1 war包直接放在tomcat webapps 下面 2 修改server.xml &#xff0c;改成自定义目录 sudo vim /data/tomcat/conf/server.xml <Host name"localhost" appBase"webapps" --> <Host name"localhost" appBase"" <Conte…

今日分享丨用双钻模型设计中后台产品

随着C端市场的快速进化&#xff0c;用户的审美标准与产品体验认知均达到了前所未有的高度&#xff0c;这一转变深刻影响了用户对B端产品的期待。在面对B端产品时&#xff0c;用户不自觉地以C端产品的优质体验为参照&#xff0c;希望产品不仅能高效完成工作任务&#xff0c;同时…

收藏:高性价比https证书

在当今的数字化世界中&#xff0c;网络安全已经成为了每个网站所有者的首要关注点&#xff0c;为了保护网站的安全&#xff0c;防止数据被窃取或篡改&#xff0c;使用SSL证书已经成为了一种标准的做法&#xff0c;SSL证书是一种用于加密网站和用户之间数据传输的证书&#xff0…

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…

ubuntu一些好用的开发工具及其配置

1 终端模糊搜索fzf https://github.com/junegunn/fzf 输入某命令&#xff0c;比如 conda &#xff0c;按下ctrlR&#xff0c;会显示和该命令匹配的历史命令的列表 有了这个工具再也不用记忆太复杂的命令&#xff0c;只需要知道大概几个单词&#xff0c;输入即可搜索。 其搜索…

可见性::

目录 定义&#xff1a; 解决方法&#xff1a; ①使用synchronized实现缓存和内存的同步 修改一&#xff1a; 加入语句&#xff1a; 代码&#xff1a; 修改2&#xff1a; 在代码块中加入&#xff1a; 代码&#xff1a; 执行结果&#xff1a; 原因&#xff1a; ②使用…

RPA软件-影刀使用

流程自动化 影刀将操作进行抽象&#xff0c;分为一下几个对象&#xff1a; 网页自动化 &#xff08;1&#xff09; 网页自动化应用场景&#xff1a;网页操作、数据抓取 &#xff08;2&#xff09; 网页操作&#xff1a;基础操作-指令操作&#xff0c;智能操作-关联元素&#…

PTrade常见问题系列15

某容器占用内存很高需要关闭处理&#xff1f; 1、若只是关闭部分进程&#xff0c;则需要进入容器后top -b 排序出资源占用消耗最高的几个进程&#xff0c;通过kill -9的方式进行清理&#xff1b; 2、若要关闭对应容器&#xff0c;则在管理端勾选后进行关闭容器操作或者在后台执…

【学习笔记】解决Serial Communication Library编译问题

【学习笔记】解决编译 Serial Communication Library 时的 Catkin 依赖问题 Serial Communication Library 是一个用 C 编写的用于连接类似 rs-232 串口的跨平台库。它提供了一个现代的 C 接口&#xff0c;它的工作流程设计在外观和感觉上与 PySerial 相似&#xff0c;但串口速…