说明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]DescriptionJenkins ServicAfternetwork.target[Service]TypesimpleUserrootGrouprootWorkingDirectory/usr/local/dev/jenkinsEnvironmentJENKINS_HOME/home/jenkinsExecStart/usr/local/dev/jdk-21.0.5/bin/java-Xms4g-Xmx4g-XX:MetaspaceSize512m-XX:MaxMetaspaceSize2g\-XX:UseG1GC-XX:MaxGCPauseMillis200-jar/usr/local/dev/jenkins/jenkins.war--httpPort8080ExecStop/bin/kill-15$MAINPIDRestarton-failureRestartSec5StandardOutputappend:/usr/local/dev/jenkins/nohup.outStandardErrorappend:/usr/local/dev/jenkins/nohup.out[Install]WantedBymulti-user.target这样更新 Jenkins 版本就很简单直接将对应 war 包换成前面下载的最新的即可如下可见已有了一个备份 war 包推测是上面自动更新产生的那把备份包删了后前面回退版本的操作是不是就不能操作了还是说 Jenkins 还会联网去下载旧版本的部署包试试看……删了之后界面就没有降版本的操作按钮了另外不知道大家会不会疑惑直接替换 war 包那 Jenkins 上的构建任务、配置、插件这些数据会不会被重置当然不会war 包只是 Jenkins 的程序它产生的数据默认保存的路径root 用户是/root/.jenkins而在上面我指定数据保存的目录是EnvironmentJENKINS_HOME/home/jenkins所以 Jenkins 的数据都保存在这个目录下而我们更新程序压根都没动这些总结以上就是 Jenkins 静默更新的两种方式不论选择哪一种都应该在下班后或者中午没有构建业务时操作