jenkins 主从模式想必大家都不陌生,大家在学习过程中为了学习方便都在自己本地搭建了 jenkins 环境,然后通过 javaweb 方式实现,对于 docker 下实现主从模式大家好像兴趣挺大。今天就通过这篇文章给大家讲讲怎么玩,希望对大家有帮助。 |
?
一、环境准备
准备一台 Linux 服务器(云服务器、自建 Linux 服务器都可以)
在 Linux 服务器上安装 docker
拉个 jenkins 镜像下来,再启动一个 jenkins 容器
docker 中把这个镜像 jenkins/ssh-slave 拉下来(jenkins 提供的专门用来做主从的镜像)
OK 准备工作就做完了
打开 docker.service 文件
VIM /usr/lib/systemd/system/docker.service
在 docker.service 文件的[Service]下添加如下内容
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
重新启动 docker 服务,让 docker 重新读取配置文件
systemctl daemon-reload
systemctl restart docker
验证,查看 docker 进程,如果 docker 守护进程在已经监听 2375 的 tcp 端口,就算成功开启了 2375 端口
进一步验证,通过其他机子访问 docker 宿主机
sudo docker -H tcp://139.129.130.123:2375 images
上面这个命令相当于直接在 docker 宿主机上执行 docker images 命令,能正确返回就表示没问题
docker pull jenkins/ssh-slave
创建一个 dockerfile 目录
将项目执行依赖的 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 .
进到节点配置页面
manage jenkins---> Slave Node(节点管理)--->ConfigureClouds
你将看到如下页面
点 Add a new cloud 下拉选择 docker,点完来到如下页面
点开 Docker Cloud details 进行配置,点开后页面如下
点开 Docker Agent templates,你将看到如下页面
点开下图的高级选项
高级选项具体配置如下图
配置完成后记得保存,最好是边配置边保存,养成好习惯。
新建任务,选择自由风格项目
限制项目运行节点,选择新建的节点(Labels)
配置 Git
配置 shell 命令
配置测试报告
开始构建后在你的构建队列那会看到如下图所示
2. 构建完成之后,点你的项目,来到这里会有构建记录,点进去可以看构建日志
3. 查看测试报告
4. 测试报告如下