如何用Docker+jenkins 运行 python 自动化?

1.在 Linux 服务器安装 docker

2.创建 jenkins 容器

3.根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境)

4.运行新的 python 容器,执行 jenkins 从仓库中拉下来的自动化项目

5.执行完成之后删除容器

环境准备
  1. Linux 服务器一台(我的是 CentOS7)
    1、有云服务器的同学直接用云服务器
    2、没有云服务器的同学参考我的博客自己动手安装虚拟机吧
    VMware 安装 Centos7 步骤图解(http://testingpai.com/article/1629981536584)

  2. 在服务器上正确安装 docker
    1、拉取 jenkins 镜像
    jenkins/jenkins:alpine
    2、拉取 python3 镜像
    docker pull python:3-alpine

如果你想学习性能测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386   

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1、接口自动化之为什么要做接口自动化、2、接口自动化之request全局观、3、接口自动化之接口实战等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click

创建 jenkins 容器
  1. 命令
    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

  2. 参数说明
    -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 容器中

  3. 运行效果
    1、看到返回容器 ID 表示 jenkins 容器创建成功

配置 jenkins 容器
  1. 浏览器访问 http://192.168.1.66:9999,来到 jenkins 解锁页面
    1、http://192.168.1.66 为 Linux 服务器 IP 地址
    2、9999 为宿主机映射端口

如何用Docker+jenkins 运行 python 自动化?_第1张图片

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

如何用Docker+jenkins 运行 python 自动化?_第2张图片 复制密码输入到密码框,点下一步,来到如下页面(中间需要等待一段时间,大概 1 分钟左右,耐心等待)

 如何用Docker+jenkins 运行 python 自动化?_第3张图片

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

如何用Docker+jenkins 运行 python 自动化?_第4张图片

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

如何用Docker+jenkins 运行 python 自动化?_第5张图片 配置实例

如何用Docker+jenkins 运行 python 自动化?_第6张图片

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

如何用Docker+jenkins 运行 python 自动化?_第7张图片 

jenkins 安装插件
  1. 点上一步骤开始使用 jenkins,来到如下界面

    如何用Docker+jenkins 运行 python 自动化?_第8张图片

  2. 点 Manage Jenkins 来到如下页面

    如何用Docker+jenkins 运行 python 自动化?_第9张图片

  3. 点 Manage Plugins 安装插件
    1、Git 插件安装

    如何用Docker+jenkins 运行 python 自动化?_第10张图片

    2、Docker 插件安装

    如何用Docker+jenkins 运行 python 自动化?_第11张图片

    3、HTML Publisher 插件安装
     

    如何用Docker+jenkins 运行 python 自动化?_第12张图片

    4、安装完成后重启 jenkins 容器

    docker restart jenkins_save01

图片

创建 jenkins 任务
  1. 重新登陆 jenkins,点 New Item

    如何用Docker+jenkins 运行 python 自动化?_第13张图片

  2. 创建自由风格的项目

    如何用Docker+jenkins 运行 python 自动化?_第14张图片

配置 jenkins 任务
  1. 配置构建记录保留规则

    如何用Docker+jenkins 运行 python 自动化?_第15张图片

  2. Git 仓库配置

    如何用Docker+jenkins 运行 python 自动化?_第16张图片

    如何用Docker+jenkins 运行 python 自动化?_第17张图片


     

    如何用Docker+jenkins 运行 python 自动化?_第18张图片


     

    如何用Docker+jenkins 运行 python 自动化?_第19张图片

  3. 配置构建后操作
    1、添加构建后操作模块

    如何用Docker+jenkins 运行 python 自动化?_第20张图片

     2、配置运行脚本

如何用Docker+jenkins 运行 python 自动化?_第21张图片


3、配置 jenkins 中展示的测试报告路径

如何用Docker+jenkins 运行 python 自动化?_第22张图片


 

如何用Docker+jenkins 运行 python 自动化?_第23张图片



 

如何用Docker+jenkins 运行 python 自动化?_第24张图片

  4、保存项目所有配置

如何用Docker+jenkins 运行 python 自动化?_第25张图片

六、构建有项目执行环境的 python 镜像

  1. 将项目依赖包导出来到 requirements.txt 文件中,txt 文件名称可以随意写
    pip freeze > requirements.txt

  2. 在宿主机(安装 docker 的机子)上新建一个目录(我的目录在/app),将 requirements.txt 文件复制进去

  3. 在 app 目录下创建 Dockerfile 文件(文件名必须是 Dockerfile,没有后缀)

  4. requirements.txt 文件内容如下

    unittestreport==1.3.2openpyxl==3.0.7ddt==1.4.2pytest==6.2.2selenium==3.141.0pymysql==1.0.2faker==8.1.0jsonpath==0.82BeautifulReport==0.1.3rsa==4.7.2pytest-html==3.1.1allure-pytest==2.9.43requests-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 #安装依赖包CMD ["python3", "main.py"] #设置容器执行后自动执行的命令,这里main.py是我们自动化框架的执行入口文件
  6. ​​​​​​​

     5、在 app 目录下执行镜像构建命令

          docker build -t python3.9:haili .
         -t:镜像名称
         点(.):点表示 Dockerfile 文件所在的目录,我现在在 app 目录下,点表示当前目录

    6.构建成功后会看到一个新的镜像(docker images)

如何用Docker+jenkins 运行 python 自动化?_第26张图片

完成 build.sh
  1. 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:hailiecho "python执行自动化执行成功"
  2. ​​​​​​​
  3. 将 build.sh 复制到你的项目根目录下

  4. 提交代码到 Git 仓库
    Git add .
    Git commit -am'update'
    Git push

去构建 jenkins 任务
  1. 回到 jenkins 首页,找到项目点构建

    如何用Docker+jenkins 运行 python 自动化?_第27张图片

  2. 查看构建过程

    如何用Docker+jenkins 运行 python 自动化?_第28张图片

  3. 点构建记录

    如何用Docker+jenkins 运行 python 自动化?_第29张图片

  4. 查看构建过程(python 自动化项目的输出日志也在这里可以看到)

    如何用Docker+jenkins 运行 python 自动化?_第30张图片

  5. 构建过程如下图

    如何用Docker+jenkins 运行 python 自动化?_第31张图片

  6. 查看测试报告

    如何用Docker+jenkins 运行 python 自动化?_第32张图片

  7. 此时的测试报告会没有样式,因为被 Jenkins 禁用了 CSS 样式,需要我们手动解决

    如何用Docker+jenkins 运行 python 自动化?_第33张图片

解决测试报告没有样式的问题

如何用Docker+jenkins 运行 python 自动化?_第34张图片

如何用Docker+jenkins 运行 python 自动化?_第35张图片

把这个代码放进去执行:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

如何用Docker+jenkins 运行 python 自动化?_第36张图片

执行成功返回是空,说明没问题

如何用Docker+jenkins 运行 python 自动化?_第37张图片

重新构建可以看到有样式的测试报告

如何用Docker+jenkins 运行 python 自动化?_第38张图片

你可能感兴趣的:(docker,jenkins,自动化,postman,测试工具,开发语言,python)