在 CentOS 上升级 Jenkins 主要有 rpm/yum 方式 和 war 包方式 两种,下面按常见场景说明。
systemctl stop jenkins
cp -r /var/lib/jenkins /var/lib/jenkins_bak
cp -r /etc/sysconfig/jenkins /etc/sysconfig/jenkins_bak
如有插件或任务重要,建议直接备份整个 /var/lib/jenkins。
Jenkins 新版本通常要求:
查看 Java:
java -version
sudo wget -O /etc/yum.repos.d/jenkins.repo \
https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum clean all
yum makecache
yum update jenkins -y
systemctl daemon-reload
systemctl restart jenkins
wget https://updates.jenkins.io/download/war/2.xxx/jenkins.war
(把 2.xxx 换成目标版本)
查找原路径:
rpm -ql jenkins | grep jenkins.war
通常是:
/usr/lib/jenkins/jenkins.war
替换:
systemctl stop jenkins
mv /usr/lib/jenkins/jenkins.war /usr/lib/jenkins/jenkins.war.bak
cp jenkins.war /usr/lib/jenkins/
systemctl start jenkins
系统管理 → 关于 Jenkins
系统管理 → 插件管理 → 更新
解决:安装 Java 11
yum install java-11-openjdk -y
修改:
vi /etc/sysconfig/jenkins
# JENKINS_JAVA_CMD="/usr/lib/jvm/java-11-openjdk/bin/java"
建议:
如果你能告诉我:
我可以给你更精确的升级命令。