一文读懂,用 jenkins+docker 实现主从模式

2493 篇文章 33 订阅
1785 篇文章 18 订阅

jenkins 主从模式想必大家都不陌生,大家在学习过程中为了学习方便都在自己本地搭建了 jenkins 环境,然后通过 javaweb 方式实现,对于 docker 下实现主从模式大家好像兴趣挺大。今天就通过这篇文章给大家讲讲怎么玩,希望对大家有帮助。

一、环境准备

1、准备一台 Linux 服务器(云服务器、自建 Linux 服务器都可以)

2、在 Linux 服务器上安装 docker

3、拉个 jenkins 镜像下来,再启动一个 jenkins 容器

4、docker 中把这个镜像 jenkins/ssh-slave 拉下来(jenkins 提供的专门用来做主从的镜像)

5、OK 准备工作就做完了

二、准备开工

第一步:docker 开启远程访问,需要开启 2375 端口,这个端口慎重开启(我用的是 centos)

1、打开 docker.service 文件
VIM /usr/lib/systemd/system/docker.service

2、在 docker.service 文件的[Service]下添加如下内容
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

3、重新启动 docker 服务,让 docker 重新读取配置文件
systemctl daemon-reload
systemctl restart docker

4、验证,查看 docker 进程,如果 docker 守护进程在已经监听 2375 的 tcp 端口,就算成功开启了 2375 端口

图片

5、进一步验证,通过其他机子访问 docker 宿主机
sudo docker -H tcp://139.129.130.123:2375 images
上面这个命令相当于直接在 docker 宿主机上执行 docker images 命令,能正确返回就表示没问题

第二步:下载官网镜像(顺便再提一下,不要忘记了)

docker pull jenkins/ssh-slave

第三步:以 jenkins/ssh-slave 为基础打一个有 python3 环境的新镜像

1、创建一个 dockerfile 目录

2、将项目执行依赖的 python 包文件放到 dockerfile 目录下(怎么生成依赖文件不写了,默认你们是高手都会)

requests==2.24.0
openpyxl
ddt
pytest
selenium
pymysql
pyyaml==5.3.1
faker
jsonpath
BeautifulReport
unittestreport
rsa
pytest-html
Appium-Python-Client

3、创建一个名为 sources.list 的文件(名字不能改必须是这个名字),加入如下内容
在 jenkins/ssh-slave 镜像/etc/apt/目录下
deb http://mirrors.163.com/debian/ buster main non-free contrib
deb http://mirrors.163.com/debian/ buster-updates main non-free contrib
deb http://mirrors.163.com/debian/ buster-backports main non-free contrib
deb-src http://mirrors.163.com/debian/ buster main non-free contrib
deb-src http://mirrors.163.com/debian/ buster-updates main non-free contrib
deb-src http://mirrors.163.com/debian/ buster-backports main non-free contrib
deb http://mirrors.163.com/debian-security/ buster/updates main non-free contrib
deb-src http://mirrors.163.com/debian-security/ buster/updates main non-free contrib
sources.list 作用说明:官方提供的 jenkins/ssh-slave 并没有 python,需要安装 python 就要去更新他的安装包,此时如果使用他默认的镜像源会非常慢,因此我们换一个更快的源,将它原来的文件覆盖掉就行了,这里要根据自己的版本号进行修改,我的是 buster 版本,当然你下载后也应该是和我的一样。

4、写 Dockerfile

FROM jenkins/ssh-slave:latest
USER root
WORKDIR /app
ADD requirements.txt  /app
ADD sources.list /etc/apt/
RUN echo export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8" >> /etc/profile
RUN apt-get -y update  && apt-get -y install python3 && apt-get -y install python3-pip && pip3 install -r requirements.txt -i https://pypi.douban.com/simple

5、执行镜像构建命令
docker build -t jenkins/ssh-slave:v2.0 .

第四步:配置 jenkins 从节点

1、进到节点配置页面
manage jenkins—> Slave Node(节点管理)—>ConfigureClouds

图片

2、你将看到如下页面

图片

3、点 Add a new cloud 下拉选择 docker,点完来到如下页面

图片

4、点开 Docker Cloud details 进行配置,点开后页面如下

图片

5、点开 Docker Agent templates,你将看到如下页面

图片

6、点开下图的高级选项

图片

7、高级选项具体配置如下图

图片

图片

配置完成后记得保存,最好是边配置边保存,养成好习惯。

第五步:将 docker slave 绑定到你的 jenkins 任务

1、新建任务,选择自由风格项目

图片

2、限制项目运行节点,选择新建的节点(Labels)

图片

3、配置 Git

图片

4、配置 shell 命令

图片

5、配置测试报告

图片

图片

图片

第六步:构建你的项目

开始构建后在你的构建队列那会看到如下图所示

图片

  1. 构建完成之后,点你的项目,来到这里会有构建记录,点进去可以看构建日志

图片

  1. 查看测试报告

图片

  1. 测试报告如下

图片

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以加入我们的QQ群:746506216,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。


资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值