Docker内更新Jenkins详细讲解

news/2025/2/22 17:58:08/

        很多小伙伴在Docker中使用Jenkins时更新遇到困难,本次结合自己的实际经验,详细讲解。根据官网Jenkins了解以下内容:        

        一、Jenkins 是什么?

        Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

        Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。

        二、开始使用 Jenkins 

        本导读将向您介绍使用 Jenkins、Jenkins 的主要特性和 Jenkins Pipeline 的基本知识。 本导读使用“独立”的 Jenkins 发行版,它可以在您自己本地的机器上运行。

       2.1  准备工作

        第一次使用 Jenkins,您需要:

  • 机器要求:

    内存硬盘
    256 MB 内存,建议大于 512 MB10 GB 的硬盘空间

  • 需要安装的软件:

    • Java 8 ( JRE 或者 JDK 都可以)

    • Docker (导航到网站顶部的Get Docker链接以访问适合您平台的Docker下载)

        2.2 下载并运行 Jenkins

  1.         下载 Jenkins.

    1. 打开终端进入到下载目录.

    2. 运行命令 java -jar jenkins.war --httpPort=8080.

    3. 打开浏览器进入链接 http://localhost:8080.

    4. 按照说明完成安装.

        三、通过docker-compose部署Jenkins

        我的代码如下:

version: "3"volumes: # 自定义数据卷jenkins_vol: #定义数据卷同步存放jenkins数据networks:jenkins_network:driver: bridgeservices:jenkins:image: jenkins/jenkinsports:- "8080:8080"- "50000:50000"volumes:- ./compose/jenkins/jenkins_home:/jenkins_file- jenkins_vol:/var/jenkins_homenetworks:- jenkins_networkrestart: always

        名词解释:

volumes——自定义数据卷

networks——自定义网络(默认桥接), 不使用links通信

services——定义服务

jenkins:  # jenkins服务
  image: jenkins/jenkins  # jenkins镜像
  ports:  # 端口映射
    - "8080:8080" # 映射到宿主机端口
    - "50000:50000" # 映射到宿主机端口
  volumes:  # 数据卷挂载
    - ./compose/jenkins/jenkins_home:/jenkins_file  # 挂载jenkins数据
    - jenkins_vol:/var/jenkins_home # 挂载jenkins数据
  networks: # 网络
    - jenkins_network # 自定义网络
  restart: always # 重启策略

        通过命令运行: 

sudo docker-compose up -d

        执行完毕后,Jenkins创建成功:

                        

        在浏览器通过URL访问http://ip:8080进行访问,首次使用根据页面提示进行操作:

                

        可使用cat命令查看密码进行登录:

cat /var/jenkins_home/secrets/initialAdminPassword

​​​​​​​

        得到一串字符,这就是密码,复制到浏览器中点击继续:

        这里根据需求安装 ,后续一路默认安装填写即可。

        四、更新Jenkins

        根据提示,当前有更新版本:

        点击Downlaod进入下载jenkins.war文件 ,下载完成后将jenkins.war文件复制到本地与Docker容器挂载的对应目录,根据上面的部署文件可以看出,该项目的本地挂载路径为:

./compose/jenkins/jenkins_home

        该路径对应docker容器路径为:

/jenkins_file

        进入Docker容器,使用cd命令进入jenkins_file目录,使用cp命令复制.war包到解析目录,jenkins默认.war包路径为/usr/share/jenkins

cp jenkins.war /usr/share/jenkins

        最后重启容器就会发现jenkins更新成功了!!! 


http://www.ppmy.cn/news/1412631.html

相关文章

监控指标体系:交互延迟上的探索与最佳实践

FID 在互联网高速发展的时代,用户体验已成为企业竞争的关键所在。网页性能作为用户体验的重要组成部分,直接影响着用户的满意度和工作效率。First Input Delay(FID)作为衡量网页性能的重要指标,越来越受到业界关注。今天,让我们一起来深入了解FID,探讨如何优化FID以提升…

Idea中 maven 下载jar出现证书问题

目录 1: 具体错误: 2: 忽略证书代码: 3: 关闭所有idea, 清除缓存, 在下面添加如上忽略证书代码 4:执行 maven clean 然后刷刷新依赖 完成,撒花!&#x…

传统方法(OpenCV)_车道线识别

一、思路 基于OpenCV的库:对视频中的车道线进行识别 1、视频处理:视频读取 2、图像转换:图像转换为灰度图 3、噪声去除:高斯模糊对图像进行去噪,提高边缘检测的准确性 4、边缘检测:Canny算法进行边缘检测…

代码随想录算法训练营第三十五天|509.斐波那契数、70.爬楼梯、746.使用最小花费爬楼梯

文档链接:https://programmercarl.com/ LeetCode509.斐波那契数 题目链接:https://leetcode.cn/problems/fibonacci-number/ 思路: 动规五部曲: 这里我们要用一个一维dp数组来保存递归的结果 1.确定dp数组以及下标的含义 d…

开发语言漫谈-C#

C#的#,字面上的意思就是,也就是把C再。微软只所以搞C#就是要抗衡Java。微软当时搞了个J,被Java告了,没办法了只能另取炉灶。从纯技术角度来看,C#设计非常优秀,可以覆盖所有领域,是几乎唯一的全栈…

网络基础三——IP协议补充和Mac帧协议

全球网络及网段划分的理解 ​ 根据国家组织地区人口综合评估进行IP地址范围的划分; ​ 假设前8位用来区分不同的国家,国际路由器负责全球数据传输,子网掩码为IP/8;次6位区分不同的省份,国内路由器负责全国数据的传输…

log4j2远程代码执行漏洞原理与漏洞复现(基于vulhub,保姆级的详细教程

读者只要保证你的站点目录里有Exploit.class就行,至于我目录里有啥其他的读者不用在意。接下来,我们在攻击机启动LDAP服务。这里使用工具marshalsec-0.0.3-SNAPSHOT-all.jar来快速开启,这个工具在我的上一篇博客中有提到,详情见 …

[Spark SQL]Spark SQL读取Kudu,写入Hive

SparkUnit Function:用于获取Spark Session package com.example.unitlimport org.apache.spark.sql.SparkSessionobject SparkUnit {def getLocal(appName: String): SparkSession {SparkSession.builder().appName(appName).master("local[*]").getO…