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

不少兄弟搭 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.rhkb.cn/news/173335.html

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

相关文章

一文5000字从0到1使用Jmeter实现轻量级的接口自动化测试(图文并茂)

接口测试虽然作为版本的一环,但是也是有一套完整的体系,有接口的功能测试、性能测试、安全测试;同时,由于接口的特性,接口的自动化低成本高收益的,使用一些开源工具或一些轻量级的方法,在测试用…

【PointNet—论文笔记分享】

第一个直接基于原始点云数据进行分割、分类的模型,之前都是基于多视图或者体素的方式。 论文: PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation代码: TensorFlow版 Pytorch版 基本模型架构: 分别对每个点进行特征提取…

SpringBoot集成Redis Cluster集群(附带Linux部署Redis Cluster高可用集群)

目录 一、前言二、集成配置2.1、POM2.2、添加配置文件application.yml2.3、编写配置文件2.4、编写启动类2.5、编写测试类测试是否连接成功 一、前言 这里会使用到spring-boot-starter-data-redis包,spring boot 2的spring-boot-starter-data-redis中,默…

适用于物联网的UI设计工具都有哪些?

随着科学技术的飞速发展,“万物相连的互联网”时代逐渐成为现实。如今,物联网已经不是什么新词了。事实上,早在各种屏幕设备诞生之前,人们就与物理世界交织在一起,产生了无数的互动。如何将人们多年积累的互动经验与物…

windows下OOM排查

如下有一段代码 package com.lm.demo.arthas.controller;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import java.util.A…

PHP危险函数

PHP危险函数 文章目录 PHP危险函数PHP 代码执行函数eval 语句assert()语句preg_replace()函数正则表达式里修饰符 回调函数call_user_func()函数array_map()函数 OS命令执行函数system()函数exec()函数shell_exec()函数passthru() 函数popen 函数反引号 实列 通过构造函数可以执…

负载均衡的综合部署练习(hproxy+keepalived和lvs-DR+keepalived+nginx+Tomcat)

一、haproxykeepalived haproxy 2台 20.0.0.21 20.0.0.22 nginx 2台 20.0.0.23 20.0.0.24 客户机 1台 20.0.0.30 这里没有haproxy不是集群的概念,他只是代理服务器。 访问他直接可以直接访问后端服务器 关闭防火墙 安装haproxy和环境: yum in…

【Spring】快速入门Spring Web MVC

文章目录 1. 什么是Spring Web MVC1.1 MVC1.2 Spring MVC 2. 使用Spring MVC2.1 项目创建2.2 建立连接2.2.1 RequestMapping 注解2.2.2 RestController 注解2.2.3 RequestMapping 使⽤2.2.4 RequestMapping 是什么请求?POST?GET?…&#xff1…

Android原生项目集成uniMPSDK(Uniapp)遇到的报错总结

uni小程s序SDK 集成到Android原生项目:老项目中用到的库较多,会出现几种冲突问题,总结如下: 报错1: Execution failed for task :app:processDebugManifest. > Manifest merger failed with multiple errors, see logs Andro…

YUV的红蓝颠倒(反色)的原因及解决

原因 UV排列反了。 比如说,NV21和YUV420SP的Y排列相同,UV则相反。给你YUV420SP,你当作NV21保存JPG,就会发生红蓝拿起。 解决办法 就是把UV互换一下。具体代码: NV21转YUV420SP的代码_nv21转yuv420格式-CSDN博客 …

SpringCloud复习:(3)LoadBalancerInterceptor

使用Ribbon时,execute方法会由RibbonLoadBalancerClient类来实现 它会调用重载的execute方法 getLoadBalancer默认会返回ZoneAwareLoadBalancer(基类是BaseLoadBalancer).此处调用的getServer方法就会根据负载均衡策略选择适当的服务器来为下一步的htt…

算法通过村第十七关-贪心|白银笔记|贪心高频问题

文章目录 前言区间问题判断区间是否重复合并区间插入区间 字符串分割加油站问题总结 前言 提示:如果生活把你的门关上了,那你就再打开,这就是门,门就是这样的。 --佚名 贪婪的思想不一定要理解的很透彻,但是贪婪的问题…

苍穹外卖-day03

苍穹外卖-day03 课程内容 公共字段自动填充新增菜品菜品分页查询删除菜品修改菜品 **功能实现:**菜品管理 菜品管理效果图: 1. 公共字段自动填充 1.1 问题分析 在上一章节我们已经完成了后台系统的员工管理功能和菜品分类功能的开发,在…

成都无人机测绘公司 无人机测绘服务 无人机航测作业

无人机测绘是传统航空摄影测量方式的重要补充方式,它具有灵活、高效、适用范围广、生产周期短等优势,在小区域和飞行困难地区获取高分辨率图像具有明显的优势。目前,无人机测绘主要应用于土地监管、灾害应急处理、城市规划管理等方面。那么&a…

uniapp开发app,在ios真机上出现的css样式问题

比如下面的问题,在iphone 13上出现,在iphone xR上正常。 问题一:border:1rpx造成边框显示不全 在iphone13上border边框有一部分不显示: 在iphone xR上显示正常: 解决办法是: 将border边框设置中的1rpx改…

html2pdf

页面布局时将需要保存在同一页pdf的dom元素用div包裹,并为该div添加class类名,例如.convertPDF,如果有多页创建多个.convertPDF这个div,再循环保存pdf即可 用到了html2canvas和JsPdf这两个插件,自行站内搜索安装

drawio特性

drawio的特性 drawio是领先的基于Web技术的草图和图表功能功能的应用。 保证数据的安全 集成了各种不同的平台,和提供了在线的免费编辑器,可以使用app.diagrams.net来方案,drawio本身不会存储用户的数据。 随着互联网时代的发展&#xff0…

CVE-2021-44228 Apache log4j 远程命令执行漏洞

一、漏洞原理 log4j(log for java)是由Java编写的可靠、灵活的日志框架,是Apache旗下的一个开源项目,使用Log4j,我们更加方便的记录了日志信息,它不但能控制日志输出的目的地,也能控制日志输出的内容格式;…

走进国产机器人领军品牌华数机器人,共探数字化变革魔力

近日,纷享销客举办的“一院两司服务对接会暨走进纷享销客【数字化标杆】游学示范基地活动”在佛山顺利举行,本期活动走进华中数控旗下品牌、国家级专精特新“小巨人”企业华数机器人,特邀佛山华数机器人有限公司常务副总经理杨林、纷享销客广…

Go语言入门心法(十五):Go微服务实战

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 Go语言入门心法(六): HTTP面向客户端|服务端编程 Go语言入门心法(七): 并发与通道 Go语言入门心法(八): mysql驱动安装报错o…