如何使用 Docker 搭建 Jenkins 环境?从安装到精通

news2024/11/24 5:06:07

不少兄弟搭 jenkins 环境有问题,有的同学用 window, 有的同学用 mac, 有的同学用 linux。
还有的同学公司用 window, 家里用 mac,搭个环境头发掉了一地。。。

这回我们用 docker 去搭建 jenkins 环境,不管你是用的是什么系统,jenkins 搭建起来都是一样的步骤。

而且使用 Docker 以后,不仅是装 jenkins, 装其他的服务器环境也都是标准化流程,不需要担心系统问题了。

安装Docker

Docker 安装在 mac 和 linux 下比较简单,照着官方文档做就行了。

windows 下比较复杂,因为 Docker 整个技术都是基于 linux 容器的,在 windows 下安装会有兼容问题,不过 Docker 官方很贴心的准备了 toolbox 工具,直接下载 toolbox, 傻瓜式安装,跟普通软件没什么差别。

接下来的讲解都是基于 toolbox 工具(因为我的机器是 windows),不需要装 toolbox 的系统会更简单,全局只需要记住 docker 这一个命令就够了。

toolbox 安装好以后,先检查 docker 有没有安装成功:

$ docker --help

等待一下,如果不报错,就说明成功了。

如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386 

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337

连接虚拟机

接下来要连接虚拟机(就是一台装了 docker 的 linux)。这个虚拟机你不需要手动安装,安装 toolbox 的时候已经自动装好了。

因为有的 windows 系统是不能直接运行 docker 的, toolbox 实际上是利用 virtualbox 等工具启动一台虚拟机(Linux VM),这台虚拟机会内置 docker , 运行容器。(不是 toolbox 用户请忽略)

启动虚拟机

$ docker-machine start default

启动虚拟机以后,登录虚拟机。以后所有的 docker 操作我们就在虚拟机上去做,不在 windows 的命令行操作了。

# 进入虚拟机,之后可以执行 linux 的 shell 命令了
docker-machine ssh default

(以下所有的操作都是在虚拟机上执行了)。使用 docker 命令运行 jenkins 容器:

图片

/your/home 就是本机上要保存的 jenkins 数据,你可以把项目的代码放到这个目录的 workspace 当中。

比如我想把数据保存到本机的 /c/Users/muji/jenkins 目录下, 那我会先在本地创建目录,然后把目录添加到命令当中。

运行这一条指令,会从 Docker 仓库里下载 jenkins 包自动安装到本地。官方下载会比较慢,请耐心等待。

有精力的同学可以去配置一个国内的加速地址。

运行到中途会出现 jenkins 的默认登录密码,请复制下来。不然之后要倒目录当中去找了:

出现这样的,就表示安装成功了:

 启动成功以后。就可以在本机的 8080 端口访问 jenkins 了!

注意:windows toolbox 用户不能直接输入 http://localhost:8080, 先要找到虚拟机的 IP。

在虚拟机输入 ifconfig 查找 IP。一定要在虚拟机输入命令行,windows 下是没有 ifconfig 的,不要弄错地方了。所有操作都在虚拟机完成,讲了 3 遍了,希望你们都已经知道了。

比如我的虚拟机地址是:192.168.99.102, 接下来,我就可以通过http://http://192.168.99.102:8080 访问 jenkins 了。

注意:jenkins 的一些配置安装过程比较慢,需要耐心等待加载完成。

配置好用户和密码以后,启动一个项目 demo, 构建生成 workspace 目录。

代码放到 workspace 里,这里的路径是在运行容器的时候指定的本机地址,一定要对上哦。

图片

剩下的步骤基本没什么区别了,看下构建后的结果:

图片

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

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

相关文章

方太描画未来厨房的模样

作者 | 辰纹 来源 | 洞见新研社 不知不觉中,iPhone已经更新到15代了,家里的电视变成了越来越轻薄的液晶屏,过去被称为“老三样”的富康,捷达、桑塔纳,如今也被以特斯拉为代表的新能源智能汽车们所取代…… 类似以上的…

第五章 I/O管理 一、I/O设备的基本概念和分类

目录 一、什么是I/O设备 1、定义: 2、按特性分类: 3、按传输速率分类: 4、按信息交换的方式分类: 二、总结 一、什么是I/O设备 1、定义: I/O设备就是可以将数据输入到计算机,或者可以接收计算机输出…

<C++> vector模拟实现

目录 前言 一、定义命名空间 二、构造函数 三、拷贝构造 四、赋值运算符重载 五、push_back && reserve 六、深拷贝问题 七、iterator 迭代器 1. 可读可写 2. 只读 八、operator[ ] 1. 可读可写 2. 只读 九、insert 问题:内部迭代器失效 十、erase 十一、re…

【网络安全】Seeker内网穿透追踪定位

Seeker追踪定位对方精确位置 前言一、kali安装二、seeker定位1、ngrok平台注册2、获取一次性邮箱地址3、ngrok平台登录4、ngrok下载5、ngrok令牌授权6、seeker下载7、运行seeker定位8、运行隧道开启监听9、伪装链接10、用户点击(获取定位成功)11、利用经…

(速进)完美解决“用户在命令行上发出了 EULAS_AGREED=1,表示不接受许可协议。”以及“此产品安装程序不支持降级”

安装VMware时候,出现以下两种情况的原因是:未彻底卸载(之前安装过VMware),例如:还有相关配置信息、注册表信息等。只要彻底清理就可以解决此问题。 网上很多帖子使用了powershell里的命令 例如&#xff1…

Linux病毒疯狂增长,我们该如何…

导读国家信息中心日前与瑞星联合发布的《2017年上半年中国网络安全报告》(以下简称《报告》)指出,目前Linux系统病毒已快速增长。《报告》对2017年1至6月的网络安全现状与趋势进行统计、研究和分析后指出,Linux系统的勒索软件数量…

帆软finereport10.0 多个筛选框根据不同条件必须选一个才能查询

效果: 方法一: 方法二: 方法一:在查询里写上一段js,此方法会把端口和IP暴露出来,方法二比较完美。 var diff this.options.form.getWidgetByName("diff").getValue();//正反向 var fllh …

【多线程面试题 八】、说一说Java同步机制中的wait和notify

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:说一说Java同步机制中的…

Day 12 python学习笔记

模块 内置模块 sys模块 概述:Python 的 sys 模块提供访问解释器使用或维护的变量,和与解释器进行交互的函数。通俗来讲,sys 模块为程序与 Python 解释器的交互,提供了一系列的函数和变量,用于操控 Python 运行时的环境…

多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测

多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测 目录 多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测预测效果基本描述程序设计参考资料 预测效果 基…

lazarus开发:提升sqlite数据插入速度

目录 1 前言 2 优化数据容器 3 开启事务插入数据 4 其他方面优化 1 前言 近期有一个需求是向数据库中插入excel文件中的10万多条数据,接近70个字段。最初整个插入数据时间是大约40分钟,经过优化调整后,大幅优化为大约5分钟。这里简单介绍…

CV计算机视觉每日开源代码Paper with code速览-2023.10.27

精华置顶 墙裂推荐!小白如何1个月系统学习CV核心知识:链接 点击CV计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【基础网络架构:Transformer】(Ne…

Jetpack:020-Jetpack导航示例:底部导航栏

文章目录 1. 概念介绍2. 使用方法3. 代码与分析3.1 示例代码3.2 代码分析 4. 内容总结 我们在上一章回中介绍了Jetpack中导航相关的内容,本章回中主要介绍 导航的综合示例:底部导航栏。闲话休提,让我们一起Talk Android Jetpack吧&#xff0…

2-多媒体数据压缩国际标准-Part3

文章目录 视频压缩的国际标准MPEG-1&MPEG-2/H.262视频标准MPEG-4 AVC/H.264视频标准H.264编码框架概述H.264视频编码的技术创新点 H.265/HEVC视频标准HEVC性能与编解码框架概述Quadtree-based coding structureDeblocking & SAO FilterHEVC各模块运算量 视频压缩的国际…

leetcode-哈希表

1. 理论 从哈希表的概念、哈希碰撞、哈希表的三种实现方式进行学习 哈希表:用来快速判断一个元素是否出现集合里。也就是查值就能快速判断,O(1)复杂度; 哈希碰撞:拉链法,线性探测法等。只是一种…

leetcode 1353. 最多可以参加的会议数目

给你一个数组 events&#xff0c;其中 events[i] [startDayi, endDayi] &#xff0c;表示会议 i 开始于 startDayi &#xff0c;结束于 endDayi 。 你可以在满足 startDayi < d < endDayi 中的任意一天 d 参加会议 i 。注意&#xff0c;一天只能参加一个会议。 请你返回…

面试测试工程师一般问什么问题?

面试和项目一起&#xff0c;是自学路上的两大拦路虎。面试测试工程师一般会被问什么问题&#xff0c;总结下来一般是下面这4类&#xff1a; 1.做好自我介绍 2.项目相关问题 3.技术相关问题 4.人事相关问题 接下来&#xff0c;主要从以上四个方向分别展开介绍。为了让大家更有获…

【多线程面试题十三】、说一说synchronized与Lock的区别

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;说一说synchronized与Lo…

使用Python获取建筑网站数据,进行可视化分析,并实现网站JS解密

哈喽兄弟们&#xff0c;今天来实现一下建筑市场公共服务平台的数据采集&#xff0c;顺便实现一下网站的JS解密。 话不多说&#xff0c;我们直接开始今天的内容。 首先我们需要准备这些 环境使用 Python 3.8Pycharm 模块使用 requests --> pip install requestsexecjs -…

scratch图书的ISBN码校验 2023年9月中国电子学会图形化编程 少儿编程 scratch编程等级考试三级真题和答案解析

目录 scratch图书的ISBN码校验 一、题目要求 1、准备工作 2、功能实现 二、案例分析