Docker+jenkins 运行 python 自动化
2、配置运行脚本http://testingpai.com/article/1644570535388
Docker+jenkins 运行 python 自动化
一、实现思路
- 在Linux服务器安装docker
- 创建jenkins容器
- 根据自动化项目依赖包构建python镜像(构建自动化python环境)
- 运行新的python容器,执行jenkins从仓库中拉下来的自动化项目
- 执行完成之后删除容器
二. 环境准备
- Linux服务器一台(我的是CentOS7)
1、有云服务器的同学直接用云服务器
2、没有云服务器的同学参考我的博客自己动手安装虚拟机吧
VMware 安装 Centos7 步骤图解 - 在服务器上正确安装docker
1、拉取jenkins镜像
jenkins/jenkins:alpine
2、拉取python3镜像
docker pull python:3-alpine
三. 创建jenkins容器
- 命令
docker run -dit --name=jenkins_save01 -p 9999:8080 -u=root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker jenkins/jenkins:alpine - 参数说明
-i:表示运行容器
-t:表示容器启动后会进入其命令行
-d:守护式方式创建容器在后台运行
--name:容器名称
-p 9999:8080:端口映射,宿主机端口:jenkins容器端口
-u=root:指定容器用户为root用户
-v /var/run/docker.sock:/var/run/docker.sock:将docker.sock映射到jenkins容器中
docker.sock文件是docker client与docker daemon通讯的文件
-v /usr/bin/docker:/usr/bin/docker:将宿主机docker客户端映射到jenkins容器中 - 运行效果
1、看到返回容器ID表示jenkins容器创建成功
![]()
四. 配置jenkins容器
1.浏览器访问http://192.168.1.66,来到jenkins解锁页面
1、http://192.168.1.66为linux服务器IP地址
2、9999为宿主机映射端口

在Linux服务器执行命令获取管理员密码
1、执行命令:docker logs jenkins_save01

3. 复制密码输入到密码框,点下一步,来到如下页面(中间需要等待一段时间,大概1分钟左右,耐心等待)

4.取消默认插件勾选,进入下一步

5.设置管理员用户名和密码(以后就用这个账号密码登陆你的jenkins)

6.配置实例

7.jenkins初始化完成看到如下界面

五. jenkins安装插件
-
点上一步骤开始使用jenkins,来到如下界面
![]()
- 点Manage Jenkins来到如下页面
![]()
-
点Manage Plugins安装插件
- Git插件安装
![]()
-
Docker插件安装
![]()
3、HTML Publisher 插件安装
![]()
- 安装完成后重启jenkins容器
docker restart jenkins_save01

七. 配置jenkins任务
- 配置构建记录保留规则
![]()
- Git仓库配置
![]()
![]()
![]()
![]()
-
配置构建后操作
1、添加构建后操作模块![]()
2、配置运行脚本
![]()
-
配置jenkins中展示的测试报告路径
![]()
![]()
![]()
4.保存项目所有配置
![]()
六、构建有项目执行环境的python镜像
-
将项目依赖包导出来到requirements.txt文件中,txt文件名称可以随意写
pip freeze > requirements.txt -
在宿主机(安装docker的机子)上新建一个目录(我的目录在/app),将requirements.txt文件复制进去
-
在app目录下创建Dockerfile文件(文件名必须是Dockerfile,没有后缀)
-
requirements.txt文件内容如下:
unittestreport==1.3.2 openpyxl==3.0.7 ddt==1.4.2 pytest==6.2.2 selenium==3.141.0 pymysql==1.0.2 faker==8.1.0 jsonpath==0.82 BeautifulReport==0.1.3 rsa==4.7.2 pytest-html==3.1.1 allure-pytest==2.9.43 requests-toolbelt==0.9.1
5.Dockerfile内容以及解释如下FROM python:3-alpine #基于python:3-alpine这个基础镜像镜像构建镜像
WORKDIR /app #切换工作空间目录
ADD ./requirements.txt /app #将python项目依赖包文件添加到镜像
RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple #安装依赖包
5、在app目录下执行镜像构建命令
docker build -t python3.9:haili .
-t:镜像名称
点(.):点表示Dockerfile文件所在的目录,我现在在app目录下,点表示当前目录
构建成功后会看到一个新的镜像(docker images)

八. 完成build.sh
-
build.sh内容如下
- echo "运行容器python执行自动化" #输出日志
- #-w=$WORKSPACE:指定workspace
- #--volumes-from=jenkins_save01:将jenkins容器中的workspace映射到python容器中,此时jenkins中git拉下来的代码就会被映射进去
- docker run --rm -w=$WORKSPACE --volumes-from=jenkins_save01 python3.9:haili
- echo "python执行自动化执行成功"
![]()
-
将build.sh复制到你的项目根目录下 提交代码到Git仓库
-
git add .
-
git commit -am'update'
-
git push
-
九. 去构建jenkins任务


























浙公网安备 33010602011771号