用Jenkins+Docker+Maven+Git实现持续集成 (超详细)

首先介绍一下笔者的练手小项目:基于SpringCloud搭建的,用Docker容器部署,用Git实现代码托管,Jenkins实现持续集成。 好了,废话不多说了,直接进入主题吧。

一、Jenkins简介

Jenkins,原名Hudson,2011年改为现在的名字,它 是一个开源的实现持续集成的 软件工具。官方网站:jenkins-ci.org/

Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性;

Jenkins的特点:

易安装:

仅仅一个java -jar jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,更无需安装数据库;

易配置:

提供友好的GUI配置界面;

变更支持

Jenkins能从代码仓库(Subversion/CVS)中获取并产生代码更新列表并 输出到编译输出信息中;

支持永久链接:

用户是通过web来访问Jenkins的,而这些web页面的链接地址都是 永久链接地址,因此,你可以在各种文档中直接使用该链接;

集成E-Mail/RSS/IM:

当完成一次集成时,可通过这些工具实时告诉你集成结果(据我所知,构建一次集成需要花费一定时间,有了这个功能,你就可以在等待结果过程中,干别的事情);

JUnit/TestNG测试报告:

也就是用以图表等形式提供详细的测试报表功能;

支持分布式构建:

Jenkins可以把集成构建等工作分发到多台计算机中完成;

文件指纹信息

Jenkins会保存哪次集成构建产生了哪些jars文件,哪一次集成构建使用了哪个版本的jars文件等构建记录;

支持第三方插件

使得Jenkins变得越来越强大

二、Jenkins的安装

安装JDK(略)

Jenkins的安装需要依赖JDK,安装Jenkins前请务必安装好JDK,并设置好环境变量;

安装Jenkis

linux环境下:

  1. 先下载,输入命令:wget pkg.jenkins.io/redhat/jenk… 或者 访问 pkg.jenkins-ci.org/redhat/ 选择合适的版本下载后上传至linux目录下即可
  2. 安装 输入命令:sudo rpm ‐ivh jenkins-2.226-1.1.noarch.rpm
  3. 修改配置 vim /etc/sysconfig/jenkins
    修改端口和用户 JENKINS_USER="root" JENKINS_PORT="8888"
  4. 启动服务 systemctl start jenkins
  5. 访问
    http://ip:8888
    从/var/lib/jenkins/secrets/initialAdminPassword中获取初始密码串

  1. 初始化配置

    等待完成即可;
  2. 安装Git、Maven插件

8. 安装完成后,需要配置一下JDK、Maven、Git插件
JDK:

Maven:

Git:

9. 创建任务

10. 配置git地址(这里用的是gogs)

11. Bulid

命令:clean package docker:build ‐DpushImage
此命令会打包并构建镜像push到我们的docker容器中
12.控制台输出日志:

看到SUCCESS就代表我们构建镜像成功了!

13. 查看并运行

docker images:查看镜像是否存在?如果存在就运行:docker run -di --name="xxxx" -p 8761:8761 "镜像名称":"版本号"

这样我们就构建并运行起来了!(ps:在以后我们开发项目时,特别是SpringCloud项目,可以运用jenkins+docker实现持续部署、集成,开发效率也会大大提高! )

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

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

相关文章

重磅丨上海容大推出“容聆”智能拾音工牌,赋能线下门店运营数字化

近日,继豚音营业厅智能质检终端之后,上海容大数字技术有限公司(简称“上海容大”)在线下面对面沟通场景下语音数据采集与智能分析领域取得了新突破,重磅推出AI智能语音工牌产品——“容聆”。 据悉,“容聆”…

【期末复习】计算机组成原理

海明码 最通俗的海明码计算方法,不需记公式,套步骤即可(可能都不需要理解) https://www.bilibili.com/video/BV1tL4y1h7Fd/ 接上一海明码视频(海明码的纠错) https://www.bilibili.com/video/BV1tf4y1A7NX/…

[保姆级教程]uniapp实现底部导航栏

文章目录 前置准备工作安装HBuilder-X新建uniapp项目教程使用HBuilder-X启动uniapp项目教程 实现底部导航栏package.json中配置导航栏详细配置内容 前置准备工作 安装HBuilder-X 详细步骤可看上文》》 新建uniapp项目教程 详细步骤可看上文》》 使用HBuilder-X启动uniapp项…

ElementUI框架搭建及组件使用+登录界面精美模版分享

目录 如何在项目中使用ElementUI组件? ① 通过npm 安装 ② 完整引入 Element ③ 导入组件测试 登录界面搭建 注意事项 ▐ 前言: 本篇文章将详解基于Vue-cli脚手架搭建的项目如何使用ElementUI ?所以在学习本篇文章内容之前建议您先学习…

【ajax核心01】ajax底层原理

目录 一:XMLHttpRequest对象 二:如何使用XHR 步骤: 注意: 三:XMLHttpRequest-请求参数 1 定义: 2 案例练习 前端HTML结构: JS代码 四:XMLHttpRequest-数据提交 核心 五:如…

实现一个查找算法

/实现一个查找算法 public class Test_35 {public static int linearSearch(int[] arr, int target) {for (int i 0; i < arr.length; i) {if (arr[i] target) {return i; // 返回目标元素的索引}}return -1; // 如果未找到目标元素&#xff0c;则返回-1}public static vo…

Spring Boot基础入门

引言 Spring Boot是一个开源的Java框架&#xff0c;旨在简化Spring应用程序的创建和部署过程。它提供了一种快速和简便的方式来创建独立的、生产级别的基于Spring的应用程序。本文将介绍Spring Boot的基础知识&#xff0c;包括其核心特性、如何开始使用Spring Boot以及构建你的…

百度大模型安全荣获2024世界智能产业博览会“Find智能科技创新应用典型案例”

6月20日&#xff0c;2024世界智能产业博览会在天津开幕。会议聚焦人工智能、智能网联汽车、智能制造等年度热点议题&#xff0c;由世界智能产业博览会组委会指导&#xff0c;世界智能产业博览会组委会秘书处、中国新一代人工智能战略发展研究院、中国软件行业协会、中国网络空间…

swp添加池子addLiquidity失败

案发现场 首次添加交易对、一直失败、但是也没提示具体的原因。到这一步就没了、由下图可知、也没看到log、由此可见第一步就失败了。 解决方案 一、添加 工厂KywFactory 添加如下 bytes32 public constant INIT_CODE_PAIR_HASH keccak256(abi.encodePacked(type(KywPair…

土耳其-加拉太塔

加拉太塔&#xff08;Galata Tower&#xff09;是位于土耳其-伊斯坦布尔的一个著名地标&#xff0c;它提供了城市的壮丽全景。如果有计划前往这座塔楼打卡的话&#xff0c;可以先了解下这座历史悠久的塔楼&#xff0c;让自己感兴趣&#xff0c;才能体会到它的独特之处&#xff…

Web渗透-XSS漏洞深入及xss-labs靶场实战

一、简介 xss全称&#xff08;cross site scripting)跨站脚本攻击&#xff0c;是最常见的web应用程序安全漏洞之一&#xff0c;位于owasptop102013年度第三名xss是指攻击者在网页中嵌入客户端脚本&#xff0c;通常是javascrip编写的危险代码&#xff0c;当用户使用浏览网页时&…

excel数据透视

Excel中&#xff0c;数据透视图&#xff08;PivotChart&#xff09;和数据透视表&#xff08;PivotTable&#xff09;是两个紧密相关的工具&#xff0c;用于分析数据。数据透视表是数据透视图的数据源&#xff0c;也就是说&#xff0c;数据透视图是基于数据透视表中的数据创建的…

周末设计高端企业_集团官网主题Discuz模板

风格名称: 周末设计_高端企业_集团官网 适用版本: Discuz! X3.0、X3.1、X3.2、X3.3、F1.0 风格编码: 使用语言包结构&#xff0c;适合全部编码 周末设计高端企业_集团官网主题Discuz模板

防止多次点击,vue的按钮上做简易的防抖节流处理

话不多说,上个视频,看看是不是你要的效果 防抖节流 1.创建一个directive.js // directive.js export default {install(Vue) {// 防重复点击(指令实现)Vue.directive(repeatClick, {inserted(el, binding) {el.addEventListener(click, () > {if (!el.disabled) {el.disabl…

我对ChatGPT-5的期待

在科技飞速发展的今天&#xff0c;人工智能&#xff08;AI&#xff09;已经成为我们生活中不可或缺的一部分。尤其是近年来&#xff0c;随着ChatGPT等先进AI模型的推出&#xff0c;我们见证了AI技术在智能水平上的巨大飞跃。作为这一领域的最新成果&#xff0c;GPT-5的即将发布…

电脑开机后出现Aptio Setup Utility 处理方法

电脑开机后出现Aptio Setup Utility怎么处理 Aptio Setup Utility界面的原因&#xff1a; 这是由于 bios设置与真实的硬件情况不匹配硬盘故障找不到可启动的硬盘情况 我的问题是找不到可启动的硬盘情况 解决方式如下&#xff1a; 进入如下界面了&#xff0c;选择Boot选项…

yolov10--C#接口

一、前言 本章主要讲解yolov10的C#接口&#xff0c;主要是使用微软开发的openvinocsharp工具加载yolov10模型&#xff0c;并做推理。 二、yolov10模型转换 这里为了演示&#xff0c;使用官方yolov10m模型&#xff08;其他大小的模型同理&#xff09;做演示&#xff0c;可从下方…

动态规划数字三角形模型——AcWing 275. 传纸条

动态规划数字三角形模型 定义 动态规划数字三角形模型是在一个三角形的数阵中&#xff0c;通过一定规则找到从顶部到底部的最优路径或最优值。 运用情况 通常用于解决具有递推关系、需要在不同路径中做出选择以达到最优结果的问题。比如计算最短路径、最大和等。 计算其他…

服务器数据恢复—NTFS文件系统下双循环riad5数据恢复案例

服务器存储数据恢复环境&#xff1a; EMC CX4-480存储&#xff0c;该存储中有10块硬盘&#xff0c;其中有3块磁盘为掉线磁盘&#xff0c;另外7块磁盘组成一组RAID5磁盘阵列。运维人员在处理掉线磁盘时只添加新的硬盘做rebuild&#xff0c;并没有将掉线的硬盘拔掉&#xff0c;所…

重点!业内分享:如何找到自己门店的生鲜经营定位

说到经营生鲜品类 许多商超人士或许都会面临这样一个困境 即品类繁多且复杂&#xff0c;那么如何做到精准施策&#xff1f; 比如说&#xff0c;蔬菜和水果虽都归为生鲜&#xff0c;然而细分起来&#xff0c;价格和消费群体均存在差异。像蔬菜&#xff0c;价格通常较低&#…