Windows Docker 部署 Jenkins

一、简介

今天介绍一下在 Windows Docker 中部署 Jenkins 软件。在 Windows Docker 中,分为两种情况 Linux 容器和 Windows 容器。Linux 容器是通常大多数使用的方式,Windows 容器用于 CI/CD 依赖 Windows 环境的情况。

二、Linux 容器

Linux 容器内部署的 Jenkins 服务,大多数构建 CI/CD 使用这种场景,这里就不做过多介绍了。

2.1 部署 Jenkins

打开 Docker Desktop,切换到 Linux 容器,然后在 PowerShell 执行下面命令,即可部署一个 Jenkins 服务。这里安装的是 2.447 Tag 版本,如果需要安装其他或者最新版本,可以到 Docker Hub 中进行查找。

docker run -d -p 8080:8080 --restart always --name jenkins-2.447 -e LANG=C.UTF-8 -v C:\ProgramDatas\Docker\Containers\jenkins-2.447:/var/jenkins_home jenkins/jenkins:2.447

-参数 --restart always 在容器退出时总是重启容器。
-参数 -v C:\ProgramDatas\Docker\Containers\jenkins-2.447:/var/jenkins_home 将容器内的 /var/jenkins_home 映射到物理机的 C:\ProgramDatas\Docker\Containers\jenkins-2.447 文件夹。

在这里插入图片描述

2.2 Jenkins 目录映射

Docker 内的 Jenkins 容器,需要映射到物理机进行数据持久化,如下可以看到 Jenkins 容器内的 /var/jenkins_home 成功映射到了物理机的 C:\ProgramDatas\Docker\Containers\jenkins-2.447 目录。
在这里插入图片描述

2.3 初始化 Jenkins

浏览器内使用 8080 端口 http://localhost:8080/ 进行访问,第一次访问需要初始化会比较慢,需要两三分钟吧。看到如下 Unlock Jenkins 界面,需要输入容器内 /var/jenkins_home /secrets/initialAdminPassword 文件中的密码。因为进行了目录映射,所以找物理上的 C:\ProgramDatas\Docker\Containers\jenkins-2.447\secrets\initialAdminPassword 文件内容输入即可。
在这里插入图片描述
在这里插入图片描述
插件安装,通常选择推荐即可,自定义也可以,按需选择。
在这里插入图片描述
在这里插入图片描述
等待插件安装完成后,输入设置 admin 用户信息,根据自己的需求命名即可。
在这里插入图片描述
在这里插入图片描述
初始化到这一步,我们的 Jenkins 就安装完成了。
在这里插入图片描述

三、Windows 容器

Windows 容器内部署的 Jenkins,通常用作 CI/CD 依赖于Windows 环境的场景。比如 Microsoft 的 DotNet Framework 平台开发的程序,在使用 Jenkins 构建 CI/CD 时,依赖于 Windows 环境。

3.1 部署 Jenkins

打开 Docker Desktop 切换到 Windows 容器,然后在 PowerShell 执行下面命令,即可部署一个 Jenkins 服务。这里安装的是 windowsservercore-ltsc2019 Tag 版本,如果需要安装其他或者最新版本,可以到 Docker Hub 中进行查找。

docker run -d -p 8080:8080 --restart always --name jenkins_windowsservercore-ltsc2019 -e LANG=C.UTF-8 -v C:\ProgramDatas\Docker\Containers\jenkins_windowsservercore-ltsc2019:C:\ProgramData\Jenkins\JenkinsHome jenkins/jenkins:windowsservercore-ltsc2019

-因为 Windows 容器的镜像,通常情况下,基础镜都像比较大,所以第一次下载部署需要点时间,取决于网络速度。
参数 --restart always 在容器退出时总是重启容器。
-参数 -v C:\ProgramDatas\Docker\Containers\jenkins_windowsservercore-ltsc2019:C:\ProgramData\Jenkins\JenkinsHome 将容器内的 C:\ProgramData\Jenkins\JenkinsHome 映射到物理机的 C:\ProgramDatas\Docker\Containers\jenkins_windowsservercore-ltsc2019 文件夹。

在这里插入图片描述
如果需要进入容器内,可以执行下面两个命令,一个是进入 cmd,另一个是进入 powershell。

docker container exec -it jenkins_windowsservercore-ltsc2019 cmd
docker container exec -it jenkins_windowsservercore-ltsc2019 powershell

3.2 Jenkins 目录映射

Docker 内的 Jenkins 容器,需要映射到物理机进行数据持久化,如下可以看到容器内的 C:\ProgramData\Jenkins\JenkinsHome 成功映射到了物理机的 C:\ProgramDatas\Docker\Containers\jenkins_windowsservercore-ltsc2019 目录。
在这里插入图片描述

3.3 初始化 Jenkins

浏览器内使用 8080 端口 http://localhost:8080/ 进行访问,第一次访问初始化会比较慢,需要两三分钟吧。看到如下界面,解锁 Jenkins 需要输入容器内xxx\secrets\initialAdminPassword 文件中的密码。因为进行了目录映射,所以找物理上的 C:\ProgramDatas\Docker\Containers\jenkins_windowsservercore-ltsc2019\secrets\initialAdminPassword 文件内容输入即可。
在这里插入图片描述
在这里插入图片描述
插件安装,通常选择推荐即可,自定义也可以,按需选择。
在这里插入图片描述
在这里插入图片描述
等待插件安装完成后,输入设置 admin 用户信息,根据自己需求命名即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
初始化到这一步,我们的 Jenkins 就安装完成了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/720450.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统宝塔面板搭建Typecho博客并实现公网访问本地网站【内网穿透】

文章目录 前言1. 安装环境2. 下载Typecho3. 创建站点4. 访问Typecho5. 安装cpolar6. 远程访问Typecho7. 固定远程访问地址8. 配置typecho 前言 Typecho是由type和echo两个词合成的,来自于开发团队的头脑风暴。Typecho基于PHP5开发,支持多种数据库&#…

Vue.js中的diff算法:让虚拟DOM更高效

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

516. 最长回文子序列【leetcode】/动态规划

516. 最长回文子序列 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 示例 1: 输入:s …

【2024.03.05】定时执行专家V7.1最新版GUI界面 - 基于wxWidgets 3.2.4 + CodeBlocks + GCC9.2.0

《定时执行专家》是一款制作精良、功能强大、毫秒精度、专业级的定时任务执行软件。软件具有 25 种【任务类型】、12 种【触发器】触发方式,并且全面支持界面化【Cron表达式】设置。软件采用多线程并发方式检测任务触发和任务执行,能够达到毫秒级的执行精…

Windows C++:深入理解Windows API:用户身份验证、访问令牌获取和权限管理

目录 CreateProcessAsUser介绍 函数原型 参数详解 返回值 使用注意 代码实例 代码解释: 注意事项: 用户身份验证和令牌管理 进程创建和管理 会话和桌面管理 权限和安全 用户身份验证、访问令牌获取和权限管理代码示例 步骤概述 注意事项…

【深度学习笔记】5_5 LeNet

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 5.5 卷积神经网络(LeNet) 在3.9节(多层感知机的从零开始实现)里我们构造了一个含单隐藏…

c# 连接oracle 及对应获取数据集

1、数据库配置xml&#xff0c;首先连接成功后会自动创建xml并保存到对应xml&#xff0c;如下 static string ConnPath AppDomain.CurrentDomain.BaseDirectory "ConnOrcle.xml"; 声明xml名称&#xff0c;便于后续写入对应数据库参数 2、创建xml /// <summar…

182基于matlab的半监督极限学习机进行聚类

基于matlab的半监督极限学习机进行聚类&#xff0c;基于流形正则化将 ELM 扩展用于半监督&#xff0c;三聚类结果可视化输出。程序已调通&#xff0c;可直接运行。 182matlab ELM 半监督学习 聚类 模式识别 (xiaohongshu.com)

「滚雪球学Java」:JDBC(章节汇总)

&#x1f3c6;本文收录于「滚雪球学Java」专栏&#xff0c;专业攻坚指数级提升&#xff0c;助你一臂之力&#xff0c;带你早日登顶&#x1f680;&#xff0c;欢迎大家关注&&收藏&#xff01;持续更新中&#xff0c;up&#xff01;up&#xff01;up&#xff01;&#xf…

SpringBoot中实现拦截器和过滤器

1.过滤器和拦截器简述 过滤器Filter和拦截器Interceptor&#xff0c; 在功能方面很类似&#xff0c; 但在具体实现方面差距还是比较大。 1.1 运行顺序不同&#xff1a;Filter →Servlet →Interceptor→Controller&#xff1b;1.2 配置方式不同&#xff1a;Filter在web.xml中…

C# Winform画图绘制圆形

一、因为绘制的圆形灯需要根据不同的状态切换颜色,所以就将圆形灯创建为用户控件 二、圆形灯用户控件 1、创建用户控件UCLight 2、设值用户控件大小(30,30)。放一个label标签,AutoSize为false(不自动调整大小),Dock为Fill(填充),textaglign为居中显示。 private Color R…

微服务架构SpringCloud(2)

热点参数限流 注&#xff1a;热点参数限流默认是对Springmvc资源无效&#xff1b; 隔离和降级 1.开启feign.sentinel.enabletrue 2.FeignClient(fallbackFactory) 3.创建一个类并实现FallbackFactory接口 4.加入依赖 <!--添加Sentienl依赖--><dependency><gro…

C语言如何正确使⽤循环嵌套?

一、问题 循环嵌套的应⽤⾮常⼴泛&#xff0c;如⽆限循环、查找循环、计数循环等&#xff0c;那么如何正确使⽤它呢&#xff1f; 二、解答 正确的循环嵌套模式是这样的&#xff1a;在⼀个循环结构当中包含另外⼀个循环结构&#xff0c;就像玩具套娃⼀样&#xff0c;⼀层套⼀层…

机器学习笔记 大语言模型是如何运作的?一、语料库和N-gram模型

一、语料库 语言模型、ChatGPT和人工智能似乎无处不在。了解大型语言模型(LLM)“背后”发生的事情将是驾驭数字世界的关键。 首先在提示中键入一个单词,然后点击提交。您可以尝试新的提示,并根据需要多次重新生成响应。 这个我们称之为“T&C”的语言模型是在一…

量子效应可以消灭熵

按照热寂论&#xff0c;宇宙最终达到热平衡&#xff0c;死气沉沉&#xff0c;此时熵最大。那么这一切就没有希望了吗&#xff1f; 我于是提出一个想法&#xff1a; 只要有量子效应&#xff0c;经过足够长时间&#xff08;期间无数次的变化&#xff09;&#xff0c;就会再次发…

店匠科技颁布 Shoplazza Awards:品牌出海迎历史性机遇,赋能品牌腾飞

在全球化的今天&#xff0c;中国品牌在全球市场的地位日益显著&#xff0c;品牌意识的提升推动了企业出海战略的全新转型。以全球电商市场发展为例&#xff0c;根据 ecommerceBD 数据&#xff0c;2023 年全球零售电子商务销售额预计 6.3 万亿美元&#xff0c;到 2026 年&#x…

Overload方法的重载

在一个类中&#xff0c;我们可以定义多个方法。但是有一系列方法&#xff0c;他们的功能相似&#xff0c;只是参数不同(参数的个数、顺序、类型不同)&#xff0c;那么在JavaOOP的语法中允许把这一系列方法定义为同名方法&#xff0c;这种方法名相同&#xff0c;但是参数不同的方…

Spring ControllerAdvice:全局异常处理与控制器增强

Spring ControllerAdvice&#xff1a;全局异常处理与控制器增强 在Spring框架中&#xff0c;ControllerAdvice是一个非常重要的注解&#xff0c;它提供了一种机制来全局地处理控制器层的异常&#xff0c;并且能够增强控制器的行为。通过使用ControllerAdvice&#xff0c;我们可…

我们距离AGI还有多远?

关于HBM那份纪要的其他反馈 上篇文章发了一篇HBM纪要小部分内容&#xff08;星球更新了另一部分&#xff09;&#xff0c;收到很多业内大佬们的反馈&#xff0c;包括颗粒计算、封装订单划分等等&#xff0c;以及是不是某通某电的一个专家。其中倒是出现一个非共识的说法&#…

【论文阅读】TensoRF: Tensorial Radiance Fields 张量辐射场

发表于ECCV2022. 论文地址&#xff1a;https://arxiv.org/abs/2203.09517 源码地址&#xff1a;https://github.com/apchenstu/TensoRF 项目地址&#xff1a;https://apchenstu.github.io/TensoRF/ 摘要 本文提出了TensoRF&#xff0c;一种建模和重建辐射场的新方法。不同于Ne…