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 --> 系统管理 --> 全局安全配置,修改为如下内容:
5. 其它项检查
- 全局工具配置
- Maven安装文件
- JDK安装文件
- git是否安装
- Gradle是否安装(指定使用的jdk版本)
- NodeJS安装
6. 项目构建测试
项目构建测试完成即可