持续集成平台Jenkins:docker镜像升级

2023-05-16

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

image

Jenkins升级

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

--THE END--

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

持续集成平台Jenkins:docker镜像升级 的相关文章

随机推荐

  • 内核调试小结

    文章目录 1 网络相关1 1 IP地址字符串转 be321 2 打印数值类型的IP地址 2 模块相关2 1 uboot给模块传递参数 1 网络相关 1 1 IP地址字符串转 be32 span class token keyword ext
  • Linux shell常用方法

    目录 1 文件操作1 1 查找文件并执行1 2 hexdump mtd的内容 1 文件操作 1 1 查找文件并执行 span class token function find span span class token builtin c
  • Ubuntu搭建dhcpv4服务器(Kea DHCP Server)

    1 安装kea dhcp服务器 1 1 apt安装 我还没有试过 span class token function sudo span span class token function apt span span class token
  • ubuntu IPv4 pppoe服务器搭建

    1 安装pppoe服务器 sudo apt get install pppoe 2 配置pppoe服务器 1 修改 etc ppp chap secrets xff0c 增加拨号用户名 xff0c 密码 xff1a 增加一行 xff1a 3
  • mac地址老化时间配置

    1 查看老化时间 cat proc sys net ipv4 neigh br0 base reachable time 2 配置老化时间 echo 300 gt proc sys net ipv4 neigh br0 base reach
  • ubuntu 18.04 编译openwrt 18.06

    sudo apt install y gitsudo apt install y makesudo apt install y gcc g 43 43 sudo apt install y libncurses5 devsudo apt i
  • vnc连接树莓派,4步轻松实现vnc连接树莓派

    在使用vnc时 xff0c 作为一个新手小白 xff0c 是不是很苦恼不会vnc连接树莓派 xff1f 没关系 xff0c 之前小编也不会 xff0c 今天看完我这篇文章 xff0c 你一定会有所收获的 xff0c 接下来 xff0c 让我
  • windows10+vs2019下 安装cuda10.1

    已有环境 xff1a windows10专业版 43 vs2019 准备工作 参考链接 xff1a xff08 前言部分 xff09 https www cnblogs com xiamuzi p 13470890 html 1 查看NVI
  • openwrt 18.06修改lan ip之后,自动跳转到新的ip

    feeds luci modules luci base luasrc view footer htm xff0c 强制修改为不需要回滚 xff0c 应该还有更好的方法 uci apply true 43 uci apply false f
  • 开源代码网站集合

    USB ModeSwitch xff1a http www draisberghof de usb modeswitch LWIP xff1a https savannah nongnu org projects lwip cJSON xf
  • adb.exe无法运行,提示0xc000007b错误

    运行android studio xff0c 提示adb server无法运行 xff0c 在命令行下进入C Users Administrator AppData Local Android Sdk platform tools xff0
  • 【Flutter入门到进阶】Dart进阶篇---进阶用法

    1 Dart对象扩展 1 1 extension 1 1 1 介绍 可以在不更改类或创建子类的情况下 xff0c 向类添加扩展功能的一种方式 灵活使用 extension 对基础类进行扩展 xff0c 对开发效率有显著提升 1 1 2 需求
  • 中国天气网API(最新接口)

    一 产品概述 SmartWeatherAPI 接口 简称 SWA 接口 是中国气象局面向 网络媒体 手机厂商 第三方气象服务机构等用户 xff0c 通过 web 方 式提供数据气象服务的官方载体 二 使用说明 该数据主要包括预警 实况 指数
  • MySQL事务:事务隔离

    对数据进行并发操作时 xff0c 事务可以确保数据的完整性 xff0c 在银行 证券交易等业务场景需要用到它 xff0c 本文将介绍MySQL事务是如何保证数据的一致性的 目录 事务特性事务启动与提交事务回滚 什么是事务隔离事务隔离级别 事
  • MySQL锁:全局锁、表级锁和行锁

    事务的实现离不开MySQL数据库的锁机制 xff0c 设计锁的目的也是为了处理并发访问问题 xff0c 本文简单介绍MySQL 里面的全局锁 表级锁和行锁三类锁 目录 全局锁表级锁表锁1 读锁实例2 写锁实例 元数据锁 行锁行锁简介行锁实例
  • Java环境安装配置步骤介绍

    本文记录Windows环境和Linux环境 centos7 安装Java以及Linux环境升级Java JDK版本的步骤 目录 Windows环境安装Java JDK1 下载安装2 配置环境变量 Linux环境安装Java JDK1 下载安
  • Maven 安装和配置方法详解

    通常一个Java项目会引用大量的 jar 包 xff0c 而jar 包之间可能存在各种依赖关系 xff0c 如果运行Java项目时仅使用classpath 参数来管理jar包会非常不方便 xff0c 此外 xff0c 在项目编译 打包 升级
  • MySQL索引介绍

    索引主要是用来提高数据库的查询效率的 xff0c 它对指定的列或列的集合生成索引 xff0c 然后可以通过索引来检索目标数据 xff0c 就像目录一样 xff0c 缩小了扫描范围 xff0c 大大提高了查询效率 如果不使用索引 xff0c
  • 第二、UIScrollView的使用大全

    UIScrollView 原理详解 ScrollView UIScrollView UIScrollView 为了显示多于一个屏幕的内容或者超过你能放在内存中的内容 Scroll View 为你处理缩小放大手势 xff0c UIScroll
  • 持续集成平台Jenkins:docker镜像升级

    Jenkins 2 357 及 LTS 2 361 1之后的版本要求Java 11 或者 17 xff0c 如果使用的是Java 8 xff0c 要升级最新版本的Jenkins xff0c 就需要升级Java JDK版本 xff0c 本文记