jenkins部署指定任意版本和配置详细教程 jenkins 2.361版本示例

news2025/7/21 0:10:12

Jenkins构建CI/CD

什么是CI/CD:持续集成/持续发布---开发(git) -->git主库-->jenkins(git+jdk+tomcat+maven打包+测试)-->发布到tomcat服务器。

持续集成(Continuous Integration, CI): 代码合并,构建,部署,测试都在一起,不断地执行这个过程,并对结果反馈。

持续部署(Continuous Deployment, CD): 部署到测试环境、预生产环境/灰度环境、生产环境。 

持续交付(Continuous Delivery, CD): 将最终产品发布到生产环境、给用户使用。

jenkins介绍

Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。 我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址URL(代码仓库地址),将代码拉取到其“宿主服务器”(Jenkins的安装位置),进行编译、打包和发布到Tomcat容器中。

工作流程图

1.开发者会将代码上传到版本库中。

2.jenkins通过配置版本库的连接地址,获取到源代码。

3.jenkins获取到源代码之后通过参数化构建(或者触发器)开始编译打包。

4.jenkins通过调用maven(Ant或者Gradle)命令实现编译打包过程。

5.生成的war包通过ssh插件上传到远程tomcat服务器中通过shell脚本自动发布项目。

在jenkins服务器:192.168.197.143 配置jdk和maven

下载jdk或者自己上传包 https://www.oracle.com/java/technologies/downloads/

Maven下载

wget https://downloads.apache.org/maven/maven-3/3.8.2/binaries/apache-maven-3.8.2-bin.tar.gz

tar -xvzf apache-maven-3.8.2-bin.tar.gz

tar zxvf jdk-8u121-linux-x64.tar.gz

mv jdk1.8.0_121/ java

mv apache-maven-3.8.2/ java/maven

mv java/ /usr/local/

配置环境变量: vim /etc/profile

JAVA_HOME=/usr/local/java

MAVEN_HOME=/usr/local/java/maven

PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL JAVA_HOME MAVEN_HOME

source /etc/profile 刷新配置

java -version 验证一下

mvn -v

jenkins服务rpm包下载地址https://get.jenkins.io/redhat/

选择jenkins对需要的版本,复制链接地址或者直接点击下载都可以

wget https://get.jenkins.io/redhat/jenkins-2.361-1.1.noarch.rpm --no-check-certificate

yum install epel-release java-11-openjdk-devel -y

rpm -ivh jenkins-2.361-1.1.noarch.rpm rpm安装或者yum安装都可以

yum -y install jenkins-2.361-1.1.noarch.rpm

systemctl daemon-reload

systemctl start jenkins 启动jenkins

systemctl status jenkins 查看一下jenkins的状态

第一次访问一个新的 Jenkins 实例时,系统会要求您使用自动生成的密码将其解锁

浏览到`http://192.168.197.141:8080`并等待**解锁 Jenkins**页面出现

来到服务器查看一下初始密码

cat /var/lib/jenkins/secrets/initialAdminPassword

复制到web页面即可 登录即可

安装插件需要等一会,安装失败大部分原因都是网络问题。

到这一步部署基本完成了。

部署完成后,jenkins需要安装一些需要使用的插件

Deploy to container ---支持自动化代码部署到tomcat容器

GIT plugin 可能已经安装,可在已安装列表中查询出来

Maven Integration jenkins利用Maven编译,打包所需插件

Publish Over SSH 通过ssh连接

注意是搜索一个下载一个 不是批量下载的

插件安装完以后配置一下远程的ssh-server(后端服务器)

配置jenkins服务器的私钥

ssh-keygen 生成秘钥

cat /root/.ssh/id_rsa 查看服务器的私钥然后复制过来

然后将公钥发送到后端服务器(是需要构建项目发布的服务器)做免密登录

ssh-copy-id -i tom@192.168.197.136

如果有多个后端服务器,可以点击 ADD server进行添加;

配置完后端用户后,配置JDK和Maven

虽然Jenkins服务器上,已经安装了JDK和maven工具,但是,还需要在Jenkins服务中,进行配置;这样Jenkins才能自动化的使用两个工具;

配置jdk

配置maven

jenkins部署安装和配置已经完成,可以进行项目构建了

构建项目文档另起一篇进行编辑请看文档二

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

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

相关文章

【Airplay_BCT】Bonjour 和本地链接、域名和 DNS

Bonjour 零配置网络架构支持在局域网或广域网上发布和发现基于 TCP/IP 的服务。本文档概括介绍了 Bonjour 架构,并简要介绍了可用的 Bonjour API。 Bonjour 是 Apple 对一套零配置网络协议的实现。 Bonjour 旨在让用户更轻松地进行网络配置。 例如,Bon…

ChatGPT一路狂飙,NVMe SSD能否应对性能挑战?

近日,ChatGPT持续火爆,用户在短短两个月内迅速破亿,大量用户涌入导致ChatGPT访问和数据规模指数级增加。与数月前发布的版本相比,新的ChatGPT“智能”了许多,不仅可以像人类一样聊天交流,甚至能够完成一定程…

70. with open( ) as 以自动关闭文件的方式打开文件

70. with open( ) as 以自动关闭文件的方式打开文件 文章目录70. with open( ) as 以自动关闭文件的方式打开文件1. 知识回顾1. open函数语法参考2. 准备工作3. mode模式知识回顾2. with open 语句的作用3. with open 语句语法4. with open 语句实操5. 总结1. 代码总结2. 重点知…

Pandas学习2

Pandas学习2 None 两种缺失数据:None、np.nan(NaN) None是python自带的,不能参与计算。类型是object np.nan 浮点类型,说明能参与计算,但是结果是nan pandas中的None和np.nan pandas中的None和np.nan都视为np.nan 如果列…

ArkUI新能力,助力应用开发更便捷

ArkUI是一套构建分布式应用的声明式UI开发框架。它具备简洁自然的UI信息语法、丰富的UI组件、多维的状态管理,以及实时界面预览等相关能力,帮助您提升应用开发效率,并能在多种设备上实现生动而流畅的用户体验。随着HarmonyOS 3.1版本的发布&a…

签收后再补录物流信息单号要如何分析

随着网络时代电商平台掘起,购物平台也是越来越多,呈现出快递也是越来越多,电商平台和快递两者是密不可分,有下单就需要快递物流,所以快递公司也是很重要一个环节,最近有朋友向咨询如何分析出比如单号过已签…

Springboot扩展点之SmartInitializingSingleton

前言这篇文章会重点分析一下SmartInitializingSingleton扩展点的功能 特性、实现方式 、工作原理。SmartInitializingSingleton扩展点内只有一个扩展方法,且执行时机在Spring Bean的生命周期里比较靠后,很重要,但是也很简单。功能特性1、Smar…

0基础入行Java开发—详解Java泛型之详解通配符

今天我们来继续讲解泛型中另一个非常重要的概念&#xff0c;就是那个“小问号”——通配符! 通配符概念 泛型中除了用 表示泛型外&#xff0c;还有 <?>这种形式。&#xff1f; 被称为通配符。那么引入通配符的原因又是什么呢&#xff1f;看下面这段代码&#xff1a; …

格兰杰因果检验_Python实现

原理部分 代码实现 步骤 #mermaid-svg-kEtkcqkpRzxjdoOv {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-kEtkcqkpRzxjdoOv .error-icon{fill:#552222;}#mermaid-svg-kEtkcqkpRzxjdoOv .error-text{fill:#552222;s…

前端框架LayUI

Bootstrap框架 Bootstrap让前端开发更快速、简单。所有开发者都能快速上手、所有设备都可以适配、所有项目都适 用。 可以直接使用Bootstrap提供的 CSS 样式表&#xff0c;Bootstrap的源码是采用最流行的CSS预处理工具Less和Sass开发的。可以直接采用预编译的CSS文件快速开发…

2023面试题

目录 http部分 2、tcp 三次握手&#xff0c;一句话概括 3、tcp四次挥手 4、什么是跨域&#xff0c;跨越的解决办法 5、TCP 和 UDP 的区别 6、websocket 7、HTTP 请求的方式&#xff0c;HEAD 方式 8、几个很实用的 BOM 属性对象方法&#xff08;什么是 Bom? Bom 是浏览器对象&a…

重生之我是赏金猎人(三)-SRC漏洞挖掘-强行多次FUZZ发现某厂商SSRF到redis密码喷洒批量反弹Shell

0x00 前言 https://github.com/J0o1ey/BountyHunterInChina 欢迎大佬们点个star 最近BugBounty挖了不少&#xff0c;但大多数都是有手就行的漏洞&#xff0c;需要动脑子的实属罕见 而今天就遇到了一个非常好的案例&#xff0c;故作此文 0x01 对目录批量FUZZ&#xff0c;发…

数字孪生智慧机场:透视数字化时代下的航空运营

在《智慧民航建设路线图》文件中&#xff0c;民航局明确指出&#xff0c;智慧机场是实现智慧民航的四个核心抓手之一。这一战略性举措旨在推进数字化技术与航空产业的深度融合&#xff0c;为旅客提供更加智能化、便捷化、安全化的出行服务&#xff0c;进一步提升我国民航发展的…

示波器详解

&#x1f44d;&#x1f44d;&#x1f44d;本文是介绍和总结了示波器的一些内容&#xff0c;有助于大学生学习以及复习&#x1f447;&#x1f447;&#x1f447;&#x1f447;&#x1f447;&#x1f447;&#x1f447;&#x1f447;&#x1f447;&#x1f447;&#x1f447;&…

RTT IO设备模型

1. I/O 设备介绍 RT-Thread 提供了一套简单的 I/O 设备模型框架&#xff0c;如下图所示&#xff0c;它位于硬件和应用程序之间&#xff0c;共分成三层&#xff0c;从上到下分别是 I/O 设备管理层、设备驱动框架层、设备驱动层。 应用程序通过 I/O 设备管理接口获得正确的设备驱…

纷享销客百思特 | 数字化营销赋能企业新增长沙龙圆满落幕

为进一步帮助企业客户实现数字化转型&#xff0c;纷享销客联合百思特管理咨询集团&#xff0c;于2月10日举办 “数字化营销赋能企业新增长”主题沙龙。本次活动以“新变革新增长”为主题&#xff0c;现场30余位制造企业高管齐聚一堂&#xff0c;共同探讨企业如何在当前复杂的宏…

都2023年了,如果不会Stream流、函数式编程?你确定能看懂公司代码?

&#x1f473;我亲爱的各位大佬们好&#x1f618;&#x1f618;&#x1f618; ♨️本篇文章记录的为 Stream流、函数式编程 相关内容&#xff0c;适合在学Java的小白,帮助新手快速上手,也适合复习中&#xff0c;面试中的大佬&#x1f649;&#x1f649;&#x1f649;。 ♨️如果…

【靶机】vulnhub靶机pylington

靶机下载地址 Pylington: 1 ~ VulnHub kali ip&#xff1a;192.168.174.128 靶机ip&#xff1a;192.168.174.146 arp-scan -l发现靶机ip是192.168.174.146 进行靶机的端口扫描&#xff0c;这里使用的是nmap的gui 可以发现开放了21和80端口&#xff0c;80端口扫描到了robot…

Spring6之HTTP Interface分析

文章目录1 HTTP Interface1.1 引言1.2 示例1.2.1 创建服务端1.2.2 SpringBoot工程1.3 深入分析1.3.1 GetExchange&#xff08;HttpExchange&#xff09;1.3.2 UserApiService 实例创建1.4 其他特性1 HTTP Interface 1.1 引言 近期&#xff0c;Spring 6 的第一个 GA 版本发布了…

【SSM】篇一:初试Spring--Ioc、Bean与容器

文章目录1、Spring2、SpringFramework系统架构3、BeanBean的配置Bean的实例化Bean的生命周期4、依赖注入DIsetter注入和构造器注入依赖自动装配集合注入案例--数据源对象管理加载properties文件5、容器创建容器的两种方式获取bean的三种方式容器类层次结构图1、Spring Spring地…