jenkins中 Slave使用Docker
原因就不说了,网上的自动化测试Docker教程太不靠谱,还是学学官网吧。
目的:
在现在各种虚拟化的大条件下,还在建立N个节点机器或节点机器搞N个并发,是不是太不方便了。
如果一个机器搞N个并发,在自动化测试中,selenium 的chrome会抢鼠标。
那我们下面就玩玩Docker。
一、Jenkins 装Docker插件
在Jenkins --> 系统管理-->插件管理页面中,看下图

勾选Docker plugin插件,然后再在线安装即可

二、找一台服务器装Docker
看你的需求,如果要并发N个数,建议找台配置相对高的服务器
安装Docker,具体不说了,网上也很多方法,这里我用的是Centos,只要下面几个命令就可以
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
systemctl start docker
装完后,使用docker images确认安装成功
下面这步比较关键了,因为docker默认是不允许外面连接的,所以要修改配置放开
修改这个文件 /usr/lib/systemd/system/docker.service中的
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 改成下面这个
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock 然后 systemctl restart docker
三、找一个jenkins slave镜像
通过docker search slave 找到需要的镜像,然后git pull,例如:
docker search slave
docker pull jenkins/slave
四、对接jenkins
管理Jenkins --系统管理 接至最后,点击Add a cloud
配置如下

再次添加节点模板信息,如下

完成后,我们通过任务来尝试下是否成功,创键一个新任务,需要注意的是:

完成后,构建会自动拉起Docker节点,任务结束后会释放节点
0904----UpDate
如果有时候用JNLP提示404 NotFoud时,可能是安全问题,需要如下做:
jenkins ---系统管理---全局安全管理,将下面这个打开,默认是disable

后续会介绍怎么使用selenium 无界面模式进行自动化测试
jenkins中 Slave使用Docker的更多相关文章
- jenkins中slave节点连接的两种常用方式
我们在使用jenkins的时候,一般来说肯定是有slave节点的,本来网上也有好多关于jenkins节点配置的教程,我也就不写了.简单说明一下:任务一般是在slave上面运行的.当然不是讲master ...
- 外部Jenkins调用容器中Slave配置实践
1.Jenkins配置 实现动态生成的Slave节点并调用,解决构建项目出现slave节点任务堵塞或者是slave宕机问题.容器平台采用openshift. 参考配置文档:https://blog.c ...
- DEVOPS技术实践_15:使用Docker作为Jenkins的slave
前面实验了使用docker搭建一个jenkins,下面实验使用docker作为jenkins的slave节点 1. 环境准备 一个运行Docker的主机或者群集 Jenkins应该能访问互联网,方便安 ...
- Jenkins中执行docker命令报错
Cannot connect to the Docker daemon. Is the docker daemon running on this host? 在配置Jenkins从Gitlab自 ...
- 如何使用 Jenkins、GitHub 和 Docker 在 Azure 中的 Linux VM 上创建开发基础结构
若要将应用程序开发的生成和测试阶段自动化,可以使用持续集成和部署 (CI/CD) 管道. 本教程介绍如何在 Azure VM 上创建 CI/CD 管道,包括如何: 创建 Jenkins VM 安装并配 ...
- 非docker的jenkins的master如何使用docker的jenkins的slave
前提 1.存在jenkins的master,这个master不是docker的,是通过yum install jenkins安装的 2.使用docker创建n个jenkins,方法是docker pu ...
- 在jenkins中使用shell命令推送当前主机上的docker镜像到远程的Harbor私有仓库
1.jenkins主机上的docker配置 先在Jenkins主机的docke上配置上Harbor私有仓库地址 cat /etc/docker/daemon.json { "insecure ...
- docker部署Jenkins,以及在Jenkins中使用宿主机的docker/docker-compose命令
使用最新的官方镜像jenkins/jenkins 第一次使用的docker部署jenkins的时候,出现了两个问题: 1.因为用户权限问题挂载/home/jenkins/data到/var/jenki ...
- kubernetes跑jenkins动态slave
使用jenkins动态slave的优势: 服务高可用,当 Jenkins Master 出现故障时,Kubernetes 会自动创建一个新的 Jenkins Master 容器,并且将 Volume ...
随机推荐
- org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext之解决办法
错误产生背景:将之前用Eclipse写的Blog项目迁移到Idea上面.Ecilpse项目一直是没有问题的. 错误原因分析:原因是项目依赖中引入的jpa,另外也与Idea比较智能也有关系 解决办法: ...
- python 多线程剖析
先来看个栗子: 下面来看一下I/O秘籍型的线程,举个栗子——爬虫,下面是爬下来的图片用4个线程去写文件 #!/usr/bin/env python # -*- coding:utf-8 -*- imp ...
- update改数据详解
update修改数据的要素 : 改哪张表? 改哪几列的值? 分别改成什么值? 在哪些行生效?(这个很重要,否则所有行都会受影响) mysql> update class ; where 表达式 ...
- 深入V8引擎-编译启动
记录一下步骤,方便以后换了电脑重新编译. 1.搞定depot_tools,git地址:git clone https://chromium.googlesource.com/chromium/tool ...
- Redis 实战搭建高可用架构
前言:最近在看关于redis缓存方面的知识,今天就来个 Redis sentinel 高可用架构,实战开始之前,先看看sentinel的概念 什么是redis-sentinel Redis-Senti ...
- 2019-11-29-win10-uwp-如何判断一个控件在滚动条的里面是用户可见
原文:2019-11-29-win10-uwp-如何判断一个控件在滚动条的里面是用户可见 title author date CreateTime categories win10 uwp 如何判断一 ...
- AspNet Core结合Quartz使用定时任务且通过注入缓存或者配置参数
一.经常在项目会用到定时任务同步数据或更新缓存等操作,在很久以前我们可能经常会用一个多线程或timer来做定时任务,这样能实现比较简单轻量级的任务:对于任务多且都调用频率不一样的任务,我们都会用到Qu ...
- Python中的函数(高级使用)
一.将函数作为变量去使用 在Python中函数也是一种对象,是一种名为function的对象,所以可以将函数赋值给变量,类似整数.浮点数.列表.元组.字典赋值给变量. 我们编写如下程序: #codin ...
- virtualbox通过Nat模式上网,宿主机与宿主机互通
本地搭建virtualbox,开始用的nat转发模式,这样的话宿主机没法访问虚拟机里面的服务.比如nginx网站.这样很不方便 . 在网上找了好久,终于找到了方案.那就是再添加一块虚拟网卡. 在虚拟机 ...
- codeforces467-A水题
题目链接:http://codeforces.com/problemset/problem/467/A A. George and Accommodation time limit per test ...