Jenkins升级操作

本文介绍如何从Jenkins v1.614升级至v2.117并实现多节点架构。主要内容包括:升级前后的环境变化、关闭防火墙与selinux、设置主机名、安装Java与配置环境变量、启动Jenkins、添加从节点、新建Jobs及常见问题解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jenkins升级文档

考虑到现有环境使用的jenkins版本v1.614过旧,很多插件不支持更新并且test03已废弃。决定升级jenkins版本到v2.117,部署多节点架构

环境列表升级前升级后
dev环境192.168.2.220192.168.2.220
test01192.168.2.220192.168.2.210
test02192.168.2.219192.168.2.211
pro192.168.2.218192.168.2.218

说明:将test01环境和test02环境整合在一起,并作为子节点单独运行,通过主jekins(2.209)进行管理

1. 准备工作

关闭防火墙
systemctl stop firewalld.service 
systemctl disable firewalld.service
关闭selinux 
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 
设置主机名
hostnamectl set-hostname jenkins-master
hosts文件增加   192.168.2.209  jenkins-master
安装java (有部分应用需要jdk1.6)
/usr/java/jdk1.6.0_45
/usr/java/jdk1.8.0_121
配置环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin

export MAVEN_HOME=/opt/apache-maven-3.3.3
export PATH=${PATH}:${MAVEN_HOME}/bin

2.启动jenkins

项目使用了tomcat8 目录/opt/apache-tomcat-8.5.30
还需拷贝maven的配置文件setting.xml

优化tomcat配置
CATALINA_OPTS="$CATALINA_OPTS-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true"
CATALINA_OPTS="$CATALINA_OPTS  -Xms1024M -Xmx4096M"

context.xml增加
<Resources cachingAllowed="true" cacheMaxSize="102400" />

放入jenkins.war项目 启动tomcat 访问 http://192.168.2.209:8080/jenkins/

3.添加从节点

  • 添加两个从节点,分别构建test01和test02环境(配置信息列出)
    1. 名称 test01
    2. 描述 192.168.2.210
    3. 并发构件数 8 (根据cpu核数填写)
    4. 远程工作目录 /root/.jenkins/workspace(最好保持一致)
    5. 标签 test01(唯一)
    6. 用法 只允许运行绑定的Job
    7. 启动方式 SSH slave agents
    8. 可用性 尽量保持代理在线
    9. 节点属性中写上工具位置(与主保持一致)
(JDK)jdk1.6  /usr/java/jdk1.6.0_45 
(JDK)jdk1.8  /usr/java/jdk1.8.0_121 
(Maven)maven3.5.3 /opt/apache-maven-3.5.3

4.新建Jobs

  • 版本升级跨度过大,拷贝的配置文件不通用,需手动建立
#导出配置jobs下每个项目的config.xml配置信息
File01=/opt/test01.txt
File02=/opt/test02.txt
Jobs=/root/.jenkins/jobs

cd $Jobs
ls -l |grep test01 |awk '{print $9}' >/tmp/test01
ls -l |grep test02 |awk '{print $9}' >/tmp/test02
cat /tmp/test01 |while read line
    do
echo $line >>$File01
cd $Jobs/$line
cat config.xml |grep http  >>$File01
done
cat /tmp/test02 |while read app
do
echo $app >>$File02
cd $Jobs/$app
cat config.xml |grep http  >>$File02
done
-------------------------------------------------------------------
#拷贝test02环境配置脚本(复制文件夹修改配置config.xml中test02)
Jobs=/root/.jenkins/jobs
cd $Jobs
ls -l |grep test02 |awk '{print $9}' >/tmp/test02
cat /tmp/test02 |while read line
  do 
echo $line
sleep 2
var=${line%%_*}_test01
 cp -rp $line $var
 sed -i 's@test02@test01@g' $var/config.xml
 done

手工添加一个新项目

  • 限制项目的运行节点选择(test01/test02)
  • 轮询SCM H/10 * * * *(每10分钟检测svn提交记录,自动构建)
  • Goals and options -Dmaven.repo.local=/root/.test01/repository clean deploy -P test01 findbugs:findbugs pmd:pmd

手动添加 titan-jr-project_test01 git项目

  • 需要配置jekins 机器ssh免密码登录 git机器 jenkins机器上操作
  • /etc/ssh/sshd_config 打开 AuthorizedKeysFile .ssh/authorized_keys
  • ssh-keygen -t rsa
  • cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
  • ssh-copy-id -i ~/.ssh/id_rsa.pub git@192.168.2.94
  • chmod 600 ~/.ssh/authorized_keys
  • chmod 700 ~/.ssh
  • 执行上述步骤后需执行系统配置——读取配置——即可看到Jobs

5.常见问题

  • 报错个 Jenkins实例使用了废弃的协议JNLP-connect,JNLP2-connect

    系统管理-代理-代理协议-勾选去掉-Java Protocol/3

  • 安装提示jenkins离线,无法安装插件 http://192.168.2.209:8080/jenkins/pluginManager/advanced(访问地址修改插件下载地址)
    修改jenkins 插件下载地址为http://mirror.xmission.com/jenkins/updates/update-center.json【系统设置,插件管理-高级-升级站点】
  • 删除默认all视图删除默认all视图(添加jobs时使用正则表达式(.* 所有))
    系统管理-系统设置”页面,更改“Default view”的下拉选项。退出后可以删除任意的视图
### Jenkins 升级方法 对于Jenkins版本过低造成插件无法更新的情况,解决办法是先将Jenkins升级至更高版本后再继续安装所需插件[^1]。具体操作过程中,如果目标版本为2.476或2.477而遭遇Jenkins无法启动的现象,则可能是由于这些版本引入了对Spring框架、Spring Security和Java EE的新依赖关系所引起的兼容性问题。此时应考虑把Tomcat升级到至少第10版,或是转用由Jenkins官方提供的Servlet容器来规避此难题[^2]。 考虑到实际部署环境的不同,当计划在生产环境中执行此类变更时,务必提前做好充分准备。这不仅意味着要下载适合当前系统的Jenkins新版本,同时也需确认该版本是否与已安装的JDK相匹配——例如某些较新的Jenkins发行版可能仅支持JDK 11及以上版本。另外,在实施任何更改前,强烈建议完整备份现有的Jenkins配置及其关联数据,以便于出现问题时能够迅速恢复原状[^4]。 #### 实际操作指南 为了平稳过渡并减少潜在风险,推荐采取逐步推进的方式来进行版本迭代,即每次只提升一个小幅度直至达到最终期望的目标版本[^3]。以下是基于上述原则的一个简化流程: ```bash # 停止现有服务 sudo systemctl stop jenkins # 复制旧文件夹作为安全副本 sudo mv /var/lib/jenkins /var/lib/jenkins_backup_$(date +%Y%m%d) # 解压新版Jenkins WAR包 unzip -d /usr/share/jenkins/ jenkins.war # 修改权限设置以适应新位置 chown -R jenkins:jenkins /usr/share/jenkins/ # 使用指定内存参数运行WAR包 nohup java -Xms4096m -Xmx4096m -jar /usr/share/jenkins/jenkins.war --httpPort=8080 & ``` 完成以上步骤后,应当仔细核验各项功能是否按预期运作,并适当调整插件源地址(如改为阿里云镜像站点),从而加速资源获取速度并提高稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白正在飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值