使用`War`包部署`Jenkins`(超级详细)

使用War包部署Jenkins(超级详细)

在这里插入图片描述

别着急,你看这年复一年,春光不必趁早,冬霜不会迟到。过去的都会过去,该来的都在路上,一切都是刚刚好。

网站说明

https://get.jenkins.io/war-stable/ war包下载地址

https://www.jenkins.io/doc/book/installing/ 部署文档

https://www.jenkins.io/doc/book/installing/docker/ docker部署文档

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates 清华镜像源

https://mirrors.huaweicloud.com/apache/maven/maven-3/ 华为maven镜像地址

关于Jenkins版本的说明

由于Jenkins的版本不同,其自带的JDK版本不同,而且,不管是Docker部署,还是Jenkins部署,都涉及到这个版本相关的问题,所以,有必要这里说明一下

Long Term Support (LTS) Release Line

Supported Java versions for the LTS release line are:

  • 2.361.1 (September 2022) and newer

Java 11 or Java 17

  • 2.346.1 (June 2022) and newer

Java 8, Java 11, or Java 17

  • 2.164.1 (March 2019) and newer

Java 8 or Java 11

  • 2.60.1 (June 2017) and newer

Java 8

  • 1.625.1 (October 2015) and newer

Java 7

上述这段文字来自于官网对于Jenkins版本的相关说明

这段文字列出了 Jenkins LTS(长期支持)版本中每个版本所支持的 Java 版本。以下是详细说明:

  • 最新的 LTS 版本(2.361.1 及更高):这些版本支持最新的 Java 版本,即 Java 11 和 Java 17。使用这些版本可以利用最新的 Java 特性和性能改进。

  • 中间版本(2.346.1 至 2.361.0):这些版本兼容多种 Java 版本,支持 Java 8、Java 11 和 Java 17,为用户提供了灵活性,可以根据需求选择不同的 Java 版本。

  • 更早的 LTS 版本(2.164.1 至 2.346.0):这些版本支持 Java 8 和 Java 11。Java 8 是一个长期广泛使用的版本,而 Java 11 是一个 LTS 版本,提供了较新的特性和改进。

  • 老版本(2.60.1 至 2.164.0):这些版本仅支持 Java 8。Java 8 在这些版本中是唯一支持的 Java 版本,确保了稳定性和兼容性。

  • 最早的 LTS 版本(1.625.1 至 2.60.0):这些版本支持 Java 7。Java 7 已经相对较老,但在这些版本发布时仍被广泛使用。

所以,需要部署Jenkins的时候,需要先确认自己所部署的项目JDK版本依赖,以及服务器目前的JDK版本,高版本的JDK跑低版本的JDK尚可,但是反其道而行是万万不可的

查看本地JDK环境

 java -version

在这里插入图片描述

使用War包启动Jenkins

由于本地使用的是jdk8,所以我这里就下载2.246.1版本的jenkins

下载地址 https://get.jenkins.io/war-stable/2.346.1/

在这里插入图片描述

然后放到指定位置,执行如下命令

export JENKINS_HOME=/home/jenkins/jenkins_home
java -jar jenkins_8.war (改命令待优化)

在命令行中使用 export JENKINS_HOME=/home/jenkins/jenkins_homejava -jar jenkins_8.war 两条命令,为什么呢?

  1. export JENKINS_HOME=/home/jenkins/jenkins_home:

    • 这条命令设置了一个环境变量 JENKINS_HOME,将其值指定为 /home/jenkins/jenkins_home
    • JENKINS_HOME 环境变量用于指定 Jenkins 的主目录位置,所有的 Jenkins 配置文件、工作目录以及插件等都存储在这个目录中。
  2. java -jar jenkins_8.war:

    • 这条命令启动 Jenkins 应用。-jar 参数告诉 Java 运行时执行一个 JAR 文件(在这种情况下是 jenkins_8.war,一个 WAR 文件实际上也是一个 JAR 文件)。
    • 这个命令启动 Jenkins,并根据配置文件和插件信息开始运行。

组合使用的效果

将这两条命令组合在一起:

export JENKINS_HOME=/home/jenkins/jenkins_home
java -jar jenkins_8.war

或在同一行中执行:

export JENKINS_HOME=/home/jenkins/jenkins_home && java -jar jenkins_8.war

其效果如下:

  1. 首先,设置 JENKINS_HOME 环境变量,使得 Jenkins 知道要将其所有的配置和数据存储在 /home/jenkins/jenkins_home 目录下。
  2. 然后,启动 Jenkins 应用,Jenkins 将使用刚刚设置的 JENKINS_HOME 目录作为其主目录。

这样做的意义

  1. 数据存储管理

    • 通过设置 JENKINS_HOME,可以灵活地指定 Jenkins 的主目录位置,方便管理和备份 Jenkins 数据。
    • 可以将 Jenkins 数据存储在特定位置,而不是使用默认位置(通常是 /var/lib/jenkins 或者其他根据安装方式不同的默认路径)。
  2. 环境配置

    • 可以在不同的环境中使用不同的 Jenkins 主目录,例如在开发、测试和生产环境中使用不同的配置目录。
    • 当迁移 Jenkins 实例时,可以简单地更改 JENKINS_HOME,以便 Jenkins 使用新的数据目录。

启动后会有一个秘钥

在这里插入图片描述

在这里插入图片描述

插件版本依赖问题解决

在这里插入图片描述

在这里插入图片描述

这个报错信息来自 Jenkins 插件 “Pipeline: Milestone Step” 版本 119.vdfdc43fc3b9a_,提示 Jenkins 版本不满足要求。详细解释如下:

错误信息解析

  • Pipeline: Milestone Step (119.vdfdc43fc3b_9a_):指的是特定版本的 Jenkins 插件 “Pipeline: Milestone Step”。
  • Jenkins (2.361.4) or higher required:表示这个插件版本要求 Jenkins 主程序的版本至少为 2.361.4。

具体含义

这个错误提示的意思是,你当前安装的 Jenkins 主程序版本低于 2.361.4,而你安装或尝试使用的 “Pipeline: Milestone Step” 插件版本需要 Jenkins 主程序至少为 2.361.4。因此,插件无法在当前的 Jenkins 环境中运行。

现在需要我们去切换下载源,我们需要切换下载源为清华源

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-2.346/

指向清华大学开源软件镜像站提供的 Jenkins 更新服务。具体来说,这是一个 Jenkins 更新站点的镜像,提供了与 Jenkins 版本 2.346 相关的更新和插件信息。

具体用途

  1. 插件更新
    • 该链接提供 Jenkins 插件更新的信息和下载。Jenkins 使用这个更新站点来检查和下载插件的最新版本。
  2. 更新 Jenkins 核心
    • 如果你正在运行 Jenkins 2.346 或类似版本,这个更新站点会提供与之兼容的更新和补丁。
  3. 本地镜像加速
    • 使用清华大学开源镜像站的好处是可以通过国内的高速网络访问 Jenkins 更新资源,这比直接从 Jenkins 官方站点下载要快得多,特别是对于国内用户。

在这里插入图片描述

这里我们直接下载update-center.json然后完成进行替换,这里有两个地方需要替换,第一个地方是

在这里插入图片描述

我们使用export指定了JENKINS_HOME的主目录,我们需要下载update-center.json替换原来的

mv default.json default.json.bk
mv  update-center.json default.json

然后在Jenkins管理界面配置一下

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

将这个站点替换为清华镜像源

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/dynamic-2.346/update-center.json 对应自己的war包版本

新的镜像源验证签名失败

进入插件下载目录报错如下

“Jenkins: signature verification failed in update site 'default' (show details)

“Jenkins: signature verification failed in update site ‘default’ (show details)” 这条错误信息表示 Jenkins 在尝试从默认更新站点获取更新或插件时,无法验证签名。这通常意味着 Jenkins 不能确认下载的更新或插件是否来自可信的来源。

export JENKINS_HOME=/home/jenkins/jenkins_home

nohup java -Djdk.security.allowNonCaAnchor=true -Dhudson.model.DownloadService.noSignatureCheck=true -jar jenkins_8.war --httpPort=8081 > jenkins.log 2>&1 &

参数解释

  1. -Djdk.security.allowNonCaAnchor=true
    • 该参数允许使用非 CA(证书颁发机构)签署的证书作为信任锚。这可以解决因为证书问题导致的签名验证失败。
  2. -Dhudson.model.DownloadService.noSignatureCheck=true
    • 该参数禁用 Jenkins 的插件和更新签名检查。这可以解决由于签名验证失败导致的更新问题。

现在,我们就彻底完成了部署,整个环境并且准备好了,而且这条命令配置了制定了端口,而且静默启动,还指定了主目录,绕过了签名认真

配置maven环境

好的,按照你的要求,我们将 Maven 安装目录设为 /usr/local/src,并直接修改 /etc/profile 文件来配置环境变量。

下载 Maven

使用 wget 从华为云镜像站下载 Maven:

cd /usr/local/src
wget https://mirrors.huaweicloud.com/apache/maven/maven-3/3.9.7/binaries/apache-maven-3.9.7-bin.tar.gz

解压 Maven

下载完成后,解压 Maven 包:

 tar -xzf apache-maven-3.9.7-bin.tar.gz

重命名解压后的目录以简化路径:

 mv apache-maven-3.9.7 maven

配置环境变量

为了让 Maven 可以在终端中全局使用,我们需要配置环境变量。编辑 /etc/profile 文件:

vim /etc/profile

在文件末尾添加以下内容:

# Maven environment variables
export M2_HOME=/usr/local/src/maven
export PATH=${M2_HOME}/bin:${PATH}

保存并关闭文件。然后使这些更改立即生效:

source /etc/profile

配置 Maven 仓库镜像和本地仓库路径

编辑 Maven 的设置文件 settings.xml,配置阿里云的 Maven 仓库镜像和本地仓库路径。这个文件通常位于 Maven 安装目录的 conf 目录下。

vim /usr/local/src/maven/conf/settings.xml

在文件中做以下修改:

  1. 设置本地仓库路径: 在 <localRepository> 标签内添加本地仓库路径。
  2. 添加阿里云的 Maven 仓库镜像: 在 <mirrors> 标签内添加阿里云镜像配置。

修改后的 settings.xml 文件内容如下:

<settings><!-- Local Repository Path Configuration --><localRepository>/usr/local/src/maven/maven-repo</localRepository><!-- Mirrors Configuration --><mirrors><mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url><mirrorOf>central</mirrorOf></mirror></mirrors><!-- Other configurations can remain unchanged -->
</settings>

保存并关闭文件。

验证安装

验证 Maven 是否成功安装并配置:

mvn -version

如果输出类似于以下内容,则说明 Maven 安装和配置成功:

Apache Maven 3.9.7 (bb84b2260df7c3dd2fbabe468b23b6ad3f05db84)
Maven home: /usr/local/src/maven
Java version: 1.8.0_292, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.49.1.el7.x86_64", arch: "amd64", family: "unix"

配置maven

在这里插入图片描述

在这里插入图片描述

配置JDK环境

在这里插入图片描述

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

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

相关文章

合作伙伴推广不积极?跟奖金到账时间有关!

在推广返现活动中&#xff0c;对于合作伙伴推广者来说&#xff0c;奖金是否及时到账是他们最关心的问题之一。如果品牌主一直不审批奖励数据&#xff0c;推广者则无法及时收到奖金&#xff0c;这很容易影响他们的推广积极性和忠诚度。怎样能够提高奖励审核的效率呢&#xff1f;…

SSRS中使用QRCoder生成二维码

步骤 1.下载QRCoder.dll 下载地址&#xff1a;https://download.csdn.net/download/wjl7126180/89369398 2.使用gacutil.exe安装QRCoder.dll到GAC(Global Assembly Cache) gacutil.exe是.NET Framework中的全局程序集缓存工具&#xff0c;如果没有安装.NET Framework&#…

怎么把纸质文件扫描成电子版?方法教会你!

怎么把纸质文件扫描成电子版&#xff1f;在数字化时代&#xff0c;将纸质文件转换为电子版已成为日常工作和学习的必备技能。无论是合同、证件、笔记还是其他文档&#xff0c;通过扫描软件都能轻松实现电子化&#xff0c;方便存储、查阅和分享。以下将介绍几款功能强大、操作简…

身份认证页面该怎么设计更加合理?

一、认证页面的作用 认证页面在应用程序中具有以下几个重要的作用&#xff1a; 验证用户身份&#xff1a;认证页面的主要作用是验证用户的身份。通过要求用户提供正确的凭据&#xff08;如用户名和密码、生物特征、验证码等&#xff09;&#xff0c;认证页面可以确认用户是合法…

Linux 生产跑批脚本解读

1.查看定时任务 2.脚本-目录结构 1&#xff09;config.ini 2&#xff09;run.sh 3.命令解读 1&#xff09;ls -1 路径文件夹 含义&#xff1a;ls -1 /home/oracle/shell/config/ 将文件夹config内的文件全部列出 [oracleneptune config]$ ls -1 /home/oracle/shel…

适合下班做的副业兼职、1天挣300,7天涨粉2万

最近小红书上有类视频火了&#xff01; 周周近财&#xff1a;让网络小白少花冤枉钱&#xff0c;赚取第一桶金 利用AI制作的漫画解说历史小说视频。视频以《明朝那些事儿》为蓝本&#xff0c;一上线就疯狂吸粉&#xff0c;多条视频内容都大爆了。 就是这个账号&#xff0c;仅仅…

【华为】BFD与静态路由和RIP联用

【华为】BFD与静态路由和RIP联用 实验需求配置AR1AR2AR3AR4效果抓包查看 实验需求 如上图组网所示&#xff0c;在R1上配置到达R4的Loopback0。 4.4.4.4/32网段的浮动静态路由&#xff0c;正常情况下通过R3访问R4。 当R3故障时&#xff0c;自动选路通过R2访问R4的Loopback0;在R…

了解K8s集群kubectl命令进行陈述式资源管理

前言 在 Kubernetes 集群中&#xff0c;通过陈述式和声明式资源管理是确保应用程序高效运行的关键。认识这两种管理方法&#xff0c;能够更好地掌握 Kubernetes 集群的运维和管理。 目录 一、K8s 资源管理操作分类 1. 陈述式 2. 声明式 3. K8s 集群管理常用命令概览 二…

基于瑞萨RA6M5的自控衣橱

1. 主控转接板原理图和PCB设计 2. 屏幕界面设计 3. 程序设计 4. QT设计 QT设计&#xff0c;读取MQTT数据&#xff0c;在QT上显示衣橱内部的温度&#xff0c;湿度情况&#xff0c;且能够控制衣橱的开关门&#xff0c;开关灯等。 5. 实物演示 瑞萨

数据库缓存 buffer pool详解

什么是buffer pool buffer pool, 又称之缓存池, 是mysql中为了提升查询性能而引入的缓存, 如果每次查询和修改都去操作磁盘的话, 性能就会很差, 从而引入 Buffer Pool包含多个缓冲页&#xff08;默认大小通常为16KB&#xff09;&#xff0c;每个缓冲页都有对应的控制信息&#…

Python 机器学习 基础 之 模型评估与改进 【评估指标与评分】的简单说明

Python 机器学习 基础 之 模型评估与改进 【评估指标与评分】的简单说明 目录 Python 机器学习 基础 之 模型评估与改进 【评估指标与评分】的简单说明 一、简单介绍 二、评估指标与评分 1、牢记最终目标 2、二分类指标 1&#xff09;错误类型 2&#xff09;不平衡数据集…

【产品运营】对接上游电商平台需要了解什么?

围绕卖家和平台的运营模式等维度&#xff0c;ISV对接平台可以划分为业务域、开放能力域和产品能力域。 ISV对接平台的最终目地是打通多方数据传输&#xff0c;解决卖家日常运营中的场景起到类似于业务中台的作用。因此我们可以围绕卖家和平台的运营模式等维度划分为&#xff1a…

【全开源】民宿酒店预订管理系统(ThinkPHP+uniapp+uView)

民宿酒店预订管理系统 特色功能&#xff1a; 客户管理&#xff1a;该功能可以帮助民宿管理者更加有效地管理客户信息&#xff0c;包括客户的姓名、电话、地址、身份证号码等&#xff0c;并可以在客户的订单中了解客户的消费情况&#xff0c;从而更好地满足客户的需求&#xff…

【JavaEE初阶】HTTP协议|HTTP请求方法|GET|POST|GET和POST的区别|问题辨析

目录 认识"⽅法"(method) 1.GET⽅法 GET请求的特点 2.POST⽅法 POST请求的特点 &#x1f4a1;经典⾯试题:谈谈GET和POST的区别 &#x1f4a1;问题辨析&#xff1a; 3.其他⽅法 &#x1f4a1;推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂…

六一儿童节创意项目:教你用HTML5和CSS3制作可爱的雪糕动画

六一儿童节快到了&#xff0c;这是一个充满童趣和欢乐的日子。为了给孩子们增添一份节日惊喜&#xff0c;我们决定用HTML5和CSS3制作一个生动有趣的雪糕动画。通过这个项目&#xff0c;不仅能提升你的前端技能&#xff0c;还能带给孩子们一份特别的节日礼物。无论你是前端开发新…

第一个Flutter3项目

配置flutter国内源 首先&#xff0c;配置flutter的国内源&#xff1a; env:PUB_HOSTED_URL"https://pub.flutter-io.cn"; env:FLUTTER_STORAGE_BASE_URL"https://storage.flutter-io.cn"配置gradle国内源 修改gradle\wrapper\gradle-wrapper.properties…

组件的传参等

一:组件的生命周期函数 组件的生命周期函数: created只是创建了组件内的实例对象 attached,给组件实例绑定了属性,绑定到页面节点树之后 ready准备好渲染之后,还未渲染之前 moved组件实例被移动到另一个位置后执行 detached在整个组件被被移除执行 error执行的时候,组件内…

yolo 算法 易主

标题&#xff1a;YOLOv10: Real-Time End-to-End Object Detection 论文&#xff1a;https://arxiv.org/pdf/2405.14458ethttps%3A//arxiv.org/pdf/2405.14458.zhihu.com/?targethttps%3A//arxiv.org/pdf/2405.14458 源码&#xff1a;https://github.com/THU-MIG/yolov10 分析…

N进制计数器【02】

大容量N进制计数器 集成计数器容量的扩展 集成计数器级联扩展容量 【例1】由两片 74LS161 级联组成 256 进制&#xff08;8位二进制&#xff09;同步加法计数器 【解】级联时&#xff0c;外加时钟信号同时接到各片计数器的时钟输入端&#xff0c;用前级计数器的进位输出 C…

Transformer模型架构笔记

0. 简介 Transformer是一种用于自然语言处理&#xff08;NLP&#xff09;和其他序列到序列&#xff08;sequence-to-sequence&#xff09;任务的深度学习模型架构&#xff0c;它在2017年由Vaswani等人首次提出。Transformer架构引入了自注意力机制&#xff08;self-attention …