前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jenkins升级坑

jenkins升级坑

作者头像
阿超
发布2022-11-22 14:16:28
6330
发布2022-11-22 14:16:28
举报
文章被收录于专栏:快乐阿超

过度的严厉会造成恐惧,过分的温和会有失威严。不要严厉得使人憎恶,也不要温和得使人胆大妄为——萨迪

今天看到ubuntu上的jenkins这里有提示

点了一下,提示有新版本更新

又手贱点了一下,然后完蛋,过了一会儿,jenkins挂掉了

我打开finalShellsh连接客户端)尝试重启

代码语言:javascript
复制
systemctl start jenkins

提示启动失败,使用

代码语言:javascript
复制
systemctl status jenkins
# 或者
journalctl -xe

查看详情,但是我没看明白报错

又试了试

代码语言:javascript
复制
jenkins start

这次看懂了,提示java版本不对,需要java 11 or 17

代码语言:javascript
复制
Jenkins requires Java versions [17, 11] but you are running with Java 1.8 from /jdk路径/java

原来升级了需要新jdk,那就去下一个,然后指定一下jenkins启动使用jdk11

总不能升级当前所有jdk环境为java11吧,迁移成本太大了

于是下载jdk11

代码语言:javascript
复制
wget https://repo.huaweicloud.com/java/jdk/11+28/jdk-11_linux-x64_bin.tar.gz

然后解压

代码语言:javascript
复制
tar -zxvf jdk-11_linux-x64_bin.tar.gz

移动目录

代码语言:javascript
复制
mv ./jdk-11 /usr/local/

接下来就是指定jenkins环境了

代码语言:javascript
复制
systemctl status jenkins.service

里面包含一个路径

代码语言:javascript
复制
jenkins.service - Jenkins Continuous Integration Server
  Loaded: loaded (/lib/systemd/system/jenkins.service; enabled; vendor preset: enabled)

然后cat(或者打开)这个路径的文件

代码语言:javascript
复制
cat /lib/systemd/system/jenkins.service

发现其中配置了一项

进入这个文件

代码语言:javascript
复制
vim /usr/bin/jenkins

这是一个sh脚本,其中包含一个main函数

而且还有很多JAVA_HOME

我们echo打印一下

再次执行

代码语言:javascript
复制
jenkins start

可以看到的确输出,那我们就在这里指定jdk环境

代码语言:javascript
复制
JAVA_HOME=/usr/local/jdk-11

然后再次运行,发现提示

我们发现这个提示是在sh脚本的main函数里输出的

这里有一个check_java_version的函数

我们找一下

然后发现到这里原来写的获取java版本号的逻辑有问题,echojava_version的变量为空的

于是手动在下面加了个java_version="11"

再次重启jenkins

代码语言:javascript
复制
jenkins start

提示端口占用,重启服务

代码语言:javascript
复制
systemctl restart jenkins

无报错信息,访问地址,升级成功

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档