Jenkins 2.357 及 LTS 2.361.1之后的版本要求Java 11 或者 17,如果使用的是Java 8,要升级最新版本的Jenkins,就需要升级Java JDK版本,本文记录一下如何升级jenkins容器的Java版本。

目录

  • 环境说明
  • Jenkins镜像升级
    • 1. 删除当前jenkins容器
    • 2. 删除旧的jenkins镜像
    • 3. 下载最新jenkins镜像
    • 4. 启动jenkins容器
  • Jenkins升级

环境说明

我的jenkins平台是使用docker容器进行安装的,所以,如果要升级Java版本,需要升级jenkins镜像中的Java版本,升级宿主机的jdk版本是没用的。

如果你的jenkins是直接安装在Linux服务器上的,可以直接升级服务器上的jdk,升级方法可参考Java环境安装配置步骤介绍。

我没有找到直接升级jenkins镜像中的Java版本的方法,所以我采用的方法是直接下载最新(jdk11)的jenkins docker镜像,然后重新创建容器。

如果你的数据是存储在容器中的,删除容器会导致数据也会删除,而我的jenkins容器数据挂载到了宿主机的磁盘目录,所以不用担心数据丢失的问题。

我的挂载目录:

# docker volume inspect jenkins_test
[{"CreatedAt": "2022-09-17T18:53:24+08:00","Driver": "local","Labels": {},"Mountpoint": "/var/lib/docker/volumes/jenkins_test/_data","Name": "jenkins_test","Options": {},"Scope": "local"}
]

如果你的jenkins没有挂载,请谨慎使用容器删除命令。

下面介绍升级步骤。

Jenkins镜像升级

1. 删除当前jenkins容器

停止jenkins:

$ docker stop jenkins
jenkins

删除jenkins容器:

$ docker rm jenkins
jenkins
$ docker start jenkins
Error response from daemon: No such container: jenkins
Error: failed to start containers: jenkins

2. 删除旧的jenkins镜像

$ docker images | grep jenkins
jenkins/jenkins              latest            10fafa8484ea   20 months ago   721MB
$ docker rmi -f 10fafa8484ea
Untagged: jenkins/jenkins@sha256:e4630b9084110ad05b4b51f5131d62161881216d60433d1f2074d522c3dcd6dc
Deleted: sha256:10fafa8484ea146b66ede5c232021f229e0f5d0282f334bb40114b79d5c493ec

3. 下载最新jenkins镜像

Jenkins docker hub地址: https://hub.docker.com/r/jenkins/jenkins

$ docker pull jenkins/jenkins
Using default tag: latest
latest: Pulling from jenkins/jenkins
0e29546d541c: Pull complete
11bbb8c402a7: Pull complete
cf91f018150b: Pull complete
a98e88c6f0f0: Pull complete
f67fc70d671a: Pull complete
edbe48067464: Pull complete
fa23ca93dd6b: Pull complete
00159d993c13: Pull complete
f28fb40a17cf: Pull complete
071d309df04b: Pull complete
78599f36e494: Pull complete
896a32d969fb: Pull complete
3f1a51ea9f7f: Pull complete
26e724f0bfad: Pull complete
b377e1ae1384: Pull complete
d3cdbe7e8b9f: Pull complete
f3b40ebc3458: Pull complete
Digest: sha256:c3fa8e7f70d1e873ea6aa87040c557aa53e6707eb1d5ecace7f6884a87588ac8
Status: Downloaded newer image for jenkins/jenkins:latest
docker.io/jenkins/jenkins:latest$ docker images | grep jenkins
jenkins/jenkins              latest            55860ee0cd73   8 months ago    442MB

4. 启动jenkins容器

之前搭建jenkins时创建的文件影射卷为jenkins_test:

$ docker volume inspect jenkins_test
[{"CreatedAt": "2022-09-17T18:58:31+08:00","Driver": "local","Labels": {},"Mountpoint": "/var/lib/docker/volumes/jenkins_test/_data","Name": "jenkins_test","Options": {},"Scope": "local"}

创建并启动jenkins容器:

$ docker run --name=jenkins -d -p 8080:8080 -p 50000:50000 -v jenkins_test:/var/jenkins_home -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai jenkins/jenkins
8770bb7ec9d78addd156ab56a08c932ce1b23428a2e2a3d7ed8b368d07d9156e

查看jenkins容器中的Java版本:

$ docker exec jenkins java -version
openjdk version "11.0.13" 2021-10-19
OpenJDK Runtime Environment Temurin-11.0.13+8 (build 11.0.13+8)
OpenJDK 64-Bit Server VM Temurin-11.0.13+8 (build 11.0.13+8, mixed mode)

可以看到已经升级成功了!

也可以在jenkins平台中查看,访问jenkins,进入系统信息页面:http://192.168.30.8:8080/systemInfo

Jenkins升级

jenkins升级参考Docker搭建持续集成平台Jenkins 。

--THE END--

想到过错在我,我感到很欣慰,因为这意味着事情还在我掌控之下。——塔拉·韦斯特弗《你当像鸟飞往你的山》

持续集成平台Jenkins:docker镜像升级相关推荐

  1. 持续集成平台Jenkins配置方法介绍

    持续集成(Continuous integration,CI)是软件开发和发布流程中最重要的组成部分,有利于加快开发进度.Jenkins是常用的持续集成管理工具,本文将简要介绍Jenkins持续集成工 ...

  2. GitHub Actions 持续集成 - 3. 构建 Docker 镜像并推至 Docker Hub

    GitHub Actions 持续集成 - 3. 构建 Docker 镜像并推至 Docker Hub 本文地址:blog.lucien.ink/archives/498 0. 摘要 之前挖了一个坑, ...

  3. Docker搭建持续集成平台Jenkins

    1.什么是Jenkins? Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件. Jenkins 支持各种运行方式,可通过系统包.Docker 或者通过一 ...

  4. 06-01 搭建持续集成平台 Jenkins

    Jenkins 官网 https://www.jenkins.io/ Jenkins 安装相关命令 # 拉取镜像 docker pull jenkins/jenkins # 创建docker的文件映射 ...

  5. python自动化(六)持续集成:1.docker技术讲解

    一.初识docker 1.什么是docker docker是一个开源的应用容器引擎,基于Go语言开发,docker可以让开发者打包他们的应用及依赖包到一个轻量级.可移植的容器,然后发布到任何流行的系统 ...

  6. 持续集成:Jenkins邮件通知配置方法介绍

    Jenkins的邮件提醒功能主要通过Email Extension插件来实现,它是对Mailer Plugin的扩展,我在持续集成平台Jenkins配置方法介绍中简要介绍了Jenkins的邮件配置方法 ...

  7. 微服务容器部署与持续集成(Jenkins)

    微服务容器部署与持续集成(Jenkins) 一.微服务容器部署 1.Dockerfile 1.1 Dockerfile简介 1.2 使用脚本创建镜像 2.Docker私有仓库 2.1 私有仓库搭建与配 ...

  8. 【云原生 • DevOps】一文掌握持续集成工具 Jenkins

    目录 一.持续集成工具 Jenkins 介绍 1. 什么是持续集成 2. Jenkins 介绍 二.Jenkins 的安装与部署 1. 安装 Jenkins 2. 本地访问 Jenkins 3. 插件 ...

  9. python 持续集成工具_持续集成工具: Jenkins学习

    持续集成工具: Jenkins学习 -- 部分内容收集自网络,如有侵权,请联系作者删除 一. 概念 在过去的开发整体流程中,是所有人写好代码之后统一进行合并(svn,git),然后进行测试,确保准发布 ...

最新文章

  1. http://nlp.stanford.edu:8080/parser/index.jsp
  2. eclipse配置本地连接 hadoop
  3. Windows下,Netbeans使用C++的配置方法
  4. weixin-api生成二维码
  5. 8.运输层(2)---TCP
  6. 基于linux下的在线电子词典
  7. SAP Script教程:SE71、SE78、SCC1、VF03、SO10-013
  8. 【STL容器讲解—栈队列】
  9. Java核心编程总结(六、常用API与集合)
  10. android爬取英文单词发音,并在app中播放。(使用百度接口)
  11. 蓝桥杯2017年第八届C/C++ B组省赛习题题解
  12. 比尔总动员小炎觉醒任务攻略
  13. 2023上海大学计算机考研信息汇总
  14. markdown编辑器教程
  15. java动态规划求最大子段和_动态规划:求最大子段和
  16. 51单片机汇编语言基本程序
  17. 在 Android 系统源码中自定义系统服务(Custom System Service in AOSP)
  18. WPA/RSN四次握手和PTK
  19. C++实现经典扫雷游戏
  20. Mac及Linux安装Autodock及ADT

热门文章

  1. c语言中的一维数组的定义,C语言一维数组的定义和引用
  2. JSON传输图片帮助类
  3. 402计算机毕业设计
  4. [附源码]JSP+ssm计算机毕业设计私家菜谱管理系统b8lby【源码、数据库、LW、部署】
  5. [附源码]计算机毕业设计JAVA政府公用车辆管理系统
  6. ELYFI爱立丰浅谈区块链技术的特点及应用领域
  7. 赛元微 SC92F8003 IAP固件函数库使用示范
  8. Cannot create container for service mongo: Post “http://unix/filesharing/share“: context deadline e
  9. html 黑板报模板,期末冲刺黑板报内容资料及模板
  10. python儿童编程例子代码-认识Python