☰
Jenkins 静默更新的两种方式
2026/9/27 4:26:57 网站建设 项目流程

说明

Jenkins 如果是很久的版本,有些插件就装不了,本文介绍如何静默更新 Jenkins,尽可能不影响到日常业务

自动更新

如果公司的 Jenkins 是能连接外网的,可以直接点下面的自动升级,当前版本是 2.541.1

网络状态良好的话,下载完重启 Jenkins 后就是最新版本

重启 Jenkins(博主在这里卡住了很久很久,不知道在干什么,一直没自动重启完成,后手动重启)

更新成功,目前版本是 2.568.3

还能降回去

手动更新

如果是内网部署,或者网络状态不好,建议手动更新。以war包部署为例,访问下面的地址,下载最新的 Jenkins 部署包

  • https://get.jenkins.io/war/

截至今天,最新的版本是 2.583

下载 war 包

这里简单介绍一下我的部署方式,我是把 Jenkins war 包的启动命令,注册到 linux 的服务中了,这样可以通过 systemctl 命令管理

jenkins.service 内容如下

[Unit]Description=Jenkins ServicAfter=network.target[Service]Type=simpleUser=rootGroup=rootWorkingDirectory=/usr/local/dev/jenkinsEnvironment="JENKINS_HOME=/home/jenkins"ExecStart=/usr/local/dev/jdk-21.0.5/bin/java-Xms4g-Xmx4g-XX:MetaspaceSize=512m-XX:MaxMetaspaceSize=2g\-XX:+UseG1GC-XX:MaxGCPauseMillis=200-jar/usr/local/dev/jenkins/jenkins.war--httpPort=8080ExecStop=/bin/kill-15$MAINPIDRestart=on-failureRestartSec=5StandardOutput=append:/usr/local/dev/jenkins/nohup.outStandardError=append:/usr/local/dev/jenkins/nohup.out[Install]WantedBy=multi-user.target

这样更新 Jenkins 版本就很简单,直接将对应 war 包换成前面下载的最新的即可

如下

可见已有了一个备份 war 包,推测是上面自动更新产生的

那把备份包删了后,前面回退版本的操作是不是就不能操作了,还是说 Jenkins 还会联网去下载旧版本的部署包?试试看

……删了之后,界面就没有降版本的操作按钮了

另外

不知道大家会不会疑惑,直接替换 war 包,那 Jenkins 上的构建任务、配置、插件这些数据会不会被重置?

当然不会,war 包只是 Jenkins 的程序,它产生的数据,默认保存的路径(root 用户)是,/root/.jenkins

而在上面,我指定数据保存的目录是Environment="JENKINS_HOME=/home/jenkins"

所以 Jenkins 的数据都保存在这个目录下,而我们更新程序压根都没动这些

总结

以上就是 Jenkins 静默更新的两种方式,不论选择哪一种,都应该在下班后,或者中午没有构建业务时操作

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询