Jenkins版本升级

342 阅读2分钟

Jenkins版本升级

一、环境对比

原机器

  • 版本:2.277.4
  • 安装方式:yum
  • JDK版本:8u191
  • 操作系统版本:CentOS 7.9

新机器

  • 版本:2.504.2
  • 安装方式:yum
  • JDK版本:jdk21

二、新机器安装

下载jenkins 2.504.2.war及并安装

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-2023.key
sudo yum upgrade
# Add required dependencies for the jenkins package
sudo yum install fontconfig java-21-openjdk
sudo yum install jenkins
sudo systemctl daemon-reload

安装openjdk(jenkins使用openJDK 17或21版本)

~]# dnf install -y java-21-openjdk

三、数据迁移

1. 确定原Jenkins数据目录

方式一:ps命令

[root@6-183 jenkins]# ps aux | grep jenkins
root      5894  0.0  0.0 112812   976 pts/1    S+   17:54   0:00 grep --color=auto jenkins
jenkins  21048  2.3 10.5 8017316 1728704 ?     Ssl  14:57   4:10 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/data/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20

-DJENKINS_HOME后的值即为数据目录

方式二:通过配置文件查看

[root@6-183 jenkins]# grep ^JENKINS_HOME /etc/sysconfig/jenkins 
JENKINS_HOME="/data/jenkins"

Jenkins 2.335 版本以上查看/usr/lib/systemd/system/jenkins.service确认数据目录

[root@7-115 ~]# grep JENKINS_HOME /usr/lib/systemd/system/jenkins.service
# $JENKINS_HOME, $JENKINS_LOG, and (if you have already run Jenkins)
Environment="JENKINS_HOME=/var/lib/jenkins"
# Note also that the particularly sensitive parts of $JENKINS_HOME (such as

2. 迁移数据

需迁移目录:

  • /data/jenkins(workspace无需迁移)
~]# rsync -avz --progress /data/jenkins/ root@172.31.7.115:/data/jenkins/
  • /var/lib/jenkins/(.ssh)
~]# rsync -avz --progress /var/lib/jenkins root@172.31.7.115:/var/lib/

四、新机器服务配置

1. 修改数据目录

编辑/usr/lib/systemd/system/jenkins.service,修改JENKINS_HOME的值为/data/jenkins

Environment="JENKINS_HOME=/data/jenkins"

2. 处理报错

java.io.IOException: Unable to read /data/jenkins/config.xml

修改/data/jenkins/config.xml文件中如下内容为false

  <useSecurity>false</useSecurity>

删除如下内容:

  <authorizationStrategy class="hudson.security.GlobalMatrixAuthorizationStrategy"> 
    <permission>hudson.model.Hudson.Administer:admin</permission> 
    <permission>hudson.model.Hudson.Read:authenticated</permission> 
    <permission>hudson.model.Item.Build:authenticated</permission> 
    <permission>hudson.model.Item.Cancel:authenticated</permission> 
    <permission>hudson.model.Item.Configure:authenticated</permission> 
    <permission>hudson.model.Item.Create:authenticated</permission> 
    <permission>hudson.model.Item.Read:authenticated</permission> 
    <permission>hudson.model.Item.Workspace:authenticated</permission> 
    <permission>hudson.model.Run.Replay:authenticated</permission> 
    <permission>hudson.model.Run.Update:authenticated</permission> 
    <permission>hudson.model.View.Configure:authenticated</permission> 
    <permission>hudson.model.View.Create:authenticated</permission> 
    <permission>hudson.model.View.Delete:authenticated</permission> 
    <permission>hudson.model.View.Read:authenticated</permission> 
  </authorizationStrategy> 

修改后访问http://172.31.7.115:8080无需认证可直接打开jenkins网页

3. 插件更新

修改插件下载地址并更新插件:

依次点击 Dashboard --> 系统管理 --> 插件管理 --> Advanced settings --> 修改升级站点中内容为如下地址:

mirrors.huaweicloud.com/jenkins/upd…

4. 开启安全配置

使admin用户生效:

依次点击Dashboard --> admin --> Account --> 应用

全局安全配置

依次点击 Dashboard --> 系统管理 --> 全局安全配置,修改为如下内容:

image-20250624185400929.png

5. 其它项检查

  • 全局工具配置
    • Maven安装文件
    • JDK安装文件
    • git是否安装
    • Gradle是否安装(指定使用的jdk版本)
    • NodeJS安装

6. 项目构建测试

项目构建测试完成即可