原因就不说了,网上的自动化测试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的更多相关文章

  1. jenkins中slave节点连接的两种常用方式

    我们在使用jenkins的时候,一般来说肯定是有slave节点的,本来网上也有好多关于jenkins节点配置的教程,我也就不写了.简单说明一下:任务一般是在slave上面运行的.当然不是讲master ...

  2. 外部Jenkins调用容器中Slave配置实践

    1.Jenkins配置 实现动态生成的Slave节点并调用,解决构建项目出现slave节点任务堵塞或者是slave宕机问题.容器平台采用openshift. 参考配置文档:https://blog.c ...

  3. DEVOPS技术实践_15:使用Docker作为Jenkins的slave

    前面实验了使用docker搭建一个jenkins,下面实验使用docker作为jenkins的slave节点 1. 环境准备 一个运行Docker的主机或者群集 Jenkins应该能访问互联网,方便安 ...

  4. Jenkins中执行docker命令报错

    Cannot connect to the Docker daemon. Is the docker daemon running on this host?   在配置Jenkins从Gitlab自 ...

  5. 如何使用 Jenkins、GitHub 和 Docker 在 Azure 中的 Linux VM 上创建开发基础结构

    若要将应用程序开发的生成和测试阶段自动化,可以使用持续集成和部署 (CI/CD) 管道. 本教程介绍如何在 Azure VM 上创建 CI/CD 管道,包括如何: 创建 Jenkins VM 安装并配 ...

  6. 非docker的jenkins的master如何使用docker的jenkins的slave

    前提 1.存在jenkins的master,这个master不是docker的,是通过yum install jenkins安装的 2.使用docker创建n个jenkins,方法是docker pu ...

  7. 在jenkins中使用shell命令推送当前主机上的docker镜像到远程的Harbor私有仓库

    1.jenkins主机上的docker配置 先在Jenkins主机的docke上配置上Harbor私有仓库地址 cat /etc/docker/daemon.json { "insecure ...

  8. docker部署Jenkins,以及在Jenkins中使用宿主机的docker/docker-compose命令

    使用最新的官方镜像jenkins/jenkins 第一次使用的docker部署jenkins的时候,出现了两个问题: 1.因为用户权限问题挂载/home/jenkins/data到/var/jenki ...

  9. kubernetes跑jenkins动态slave

    使用jenkins动态slave的优势: 服务高可用,当 Jenkins Master 出现故障时,Kubernetes 会自动创建一个新的 Jenkins Master 容器,并且将 Volume ...

随机推荐

  1. oracle--delete truncate drop的区别

    一.delete 1.delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表 ...

  2. ros:init()

    ros::init()是ROS程序调用的第一个函数,用于对ROS程序的初始化. ros::init()函数的声明在ROS代码中的./src/ros_comm/roscpp/include/ros/in ...

  3. 【排错】springboot项目,启动报An attempt was made to call the method com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder; but it does not exist.

    pom文件新引入:     <dependency>         <groupId>com.google.code.gson</groupId>         ...

  4. secure-file-priv特性

    转载自:https://segmentfault.com/a/1190000009333563 当出现:1290 - The MySQL server is running with the --se ...

  5. UNION ALL \UNION

    (一)UNION ALL \UNION 的用法和区别   UNION UNION    ALL 用途   用于使用SELECT语句组合两个或多个表的结果集. 用于使用SELECT语句组合两个或多个表的 ...

  6. ASP.NET MVC EF 连接数据库(二)-----Model First

    Model first (VS2015 ,Sql Server2014) 新建MVC项目     右键product ,新增标量属性(数据库表中的字段)   Ctrl + S 保存页面,右键“根据模型 ...

  7. 浅析负载均衡的6种算法,Ngnix的5种算法

    常见的几种负载均衡算法 1.轮询法 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载. 2.随机法 通过系统的随机算法,根据后端服务器的 ...

  8. Mybatis一对一,一对多,多对多代码

    一对一 <!-- 关系映射 --> <!-- 1-1:自动映射 --> <select id="oneToOne" resultType=" ...

  9. mysql 存储过程 函数 触发器

    mysql存储过程与函数 存储过程下载  demo mysql> delimiter // -- 这里//为修改默认分隔符: mysql> CREATE PROCEDURE simplep ...

  10. PhoneGap架构基础及工作原理介绍

    转自:http://mobile.51cto.com/others-308545.htm 本篇文章从PhoneGap由来.功能以及工作原理,力争由浅入深介绍PhoneGap框架.   为什么需要Pho ...