【史上最硬核分享】Docker+jenkinsPipeline 运行实现 python 自动化(超详细)

这篇具有很好参考价值的文章主要介绍了【史上最硬核分享】Docker+jenkinsPipeline 运行实现 python 自动化(超详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实现思路

  1. 在 Linux 服务器安装 docker
  2. 创建 jenkins 容器
  3. jenkins 中创建 pipeline 项目
  4. 根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境)
  5. 运行新的 python 容器,执行 jenkins 从仓库中拉下来的自动化项目
  6. 执行完成之后删除容器

二、环境准备

  • Linux 服务器一台(我的是 CentOS7)
    1、有云服务器的同学直接用云服务器2、没有云服务器的同学参考我的博客自己动手安装虚拟机吧
  • 在服务器上正确安装 docker
    1、拉取 jenkins 镜像jenkins/jenkins:alpine2、拉取 python3 镜像docker pull python:3-alpine

三、创建 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构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

 同时,我也准备了一份软件测试面试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺,免费领取

软件测试视频教程观看处:

字节大佬教你逼自己如何在15天内掌握自动化测试(接口自动化/APP自动化/Web自动化/性能测试),内含项目实战

四。 配置 jenkins 容器

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

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

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

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

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

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试 取消默认插件勾选,进入下一步

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

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

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

配置实例

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

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

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

五。 jenkins 安装插件

点上一步骤开始使用 jenkins,来到如下界面

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

点 Manage Jenkins 来到如下页面

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

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

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

2、Docker 插件安装

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试
 

3、HTML Publisher 插件安装

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试
 

4、安装 Pipeline 插件

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试 
5、安装完成后重启 jenkins 容器
docker restart jenkins_save01

六。 创建 jenkins 任务

重新登陆 jenkins,点 New Item

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

选择创建 Pipeline 项目

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

配置构建记录保留规则

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

配置 Git 仓库

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试 添加 Git 凭证

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

配置 Jenkinsfile 路径

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

配置完成直接点保存即可

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

七。 构建有项目执行环境的 python 镜像

  1. 将项目依赖包导出来到 requirements.txt 文件中,txt 文件名称可以随意写
    pip freeze > requirements.txt
  2. 在宿主机(安装 docker 的机子)上新建一个目录(我的目录在/app),将 requirements.txt 文件复制进去
  3. 在 app 目录下创建 Dockerfile 文件(文件名必须是 Dockerfile,没有后缀)
  4. requirement.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 #安装依赖包
CMD ["python3", "main.py"] #设置容器执行后自动执行的命令,这里main.py是我们自动化框架的执行入口文件

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

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

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

八、创建 build.sh 文件并放到项目根目录下

  echo "运行容器python执行自动化"
docker run --rm -w=$WORKSPACE --volumes-from=jenkins_save01 python3.9:haili
echo "python执行自动化执行成功"

九、写 Jenkinsfile 文件并将放到项目根目录下

  pipeline{
    //配置执行环境
    agent any
    //配置构建过程
	stages{
		stage('build'){
			steps{
			    echo '开始执行shell脚本'
				sh 'sh build.sh'
			}
		}//stage
	}//stages

   //配置构建后操作
	post{
        always{
          echo 'Pipeline 构建成功'
                   		publishHTML(target:[allowMissing: false,
					 alwaysLinkToLastBuild: true,
					 keepAll: true,
					 reportDir: 'reports',
					 reportFiles: '*.html',
					 reportName: 'My Reports',
					 reportTitles: 'The Report'])
        }
    }//post
}//pipeline

十、提交代码到远程仓库

Git add .

Git commit -am'update'

Git push

十一、构建你 jenkins 任务

点构建

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

查看构建日志

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试  

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

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试  

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

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试  

把这个代码放进去执行:System.setProperty("

hudson.model.DirectoryBrowserSupport.CSP","")

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

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

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试

重新构建就可以看到漂亮的测试报告了

jenkins构建python项目,职场和发展,功能测试,测试用例,测试工具,软件测试,servlet,单元测试


都看到这了,点个赞再走呗!

PS:如需要软件测试学习资料,可在公众号(互联网杂货铺),后台回复1,小编后面会逐步完善自己收藏的资料。

整理不易,给个关注点个赞吧,谢谢各位大佬!

 文章来源地址https://www.toymoban.com/news/detail-814379.html

到了这里,关于【史上最硬核分享】Docker+jenkinsPipeline 运行实现 python 自动化(超详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++:史上最坑小游戏

    史上最坑小游戏,先别使用,往后看! 破解: 输入1~4的破解方法(二次开机)或: 输入5,6:的破解方法(一旦运行此程序,只有按下Windows开始键(其实我也不知道它叫什么,就是那个按一下就能显示开始窗口的键)然后按 cmd就会弹出一个窗口,根平时代码运行时的窗口一

    2024年01月21日
    浏览(38)
  • 史上最简单的Kafka安装教程

     解压apache-zookeeper-3.8.0-bin.tar.gz到指定目录,复制conf目录下zoo_sample.cfg到zoo.cfg,并修改配置。 进入bin目录,启动zookeeper 解压kafka_2.12-3.0.0.tgz到指定目录。 进入到config目录,修改server.properties配置 advertised.listeners才是真正的对外代理地址,listeners的作用不是对外提供服务代理,

    2024年02月07日
    浏览(52)
  • MySQL Workbench 操作详解(史上最细)

    右键新建的数据库BMI,设置为此次连接的默认数据库,接下来的所有操作都将在这个数据库下进行 将bmi下拉单展开,点击Table,右键创建Table: 给Table命名,添加Column,设置Column的Datatype,PrimaryKey等属性。点击Apply后,Workbench仍会自动生成SQL语句,再次点击Apply,成功创建新表

    2023年04月08日
    浏览(44)
  • 史上最详细的八大排序详解!(建议收藏)

    🚀write in front🚀 📜所属专栏:初阶数据结构 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是对我最大的激励和支持!!! 关注我,关注我,关注我 , 你们将会看到更多的优质内容!!   从今天开始,我们就进入

    2023年04月20日
    浏览(51)
  • Java对接微信支付(史上最详细)

    本文将介绍如何使用Java对接微信支付,包括获取支付参数、支付回调处理等步骤。本文适用于已经熟悉微信支付基本原理的读者。 JDK 1.8 Maven Spring Boot 2.x 微信支付开发文档 为了进行支付,我们需要先获取微信支付的参数信息,包括appid、商户id、支付密钥等。 配置文件 我们

    2024年02月15日
    浏览(42)
  • OpenStack搭建史上最详细步骤 (快速入手)

    搭建openstack平台所需要的两个镜像包:CentOS-7-X86_64-DVD-1804.iso 和 chinaskill_cloud_iaas.iso镜像文件。 在VMware上准备两台虚拟机,分别作为controller(控制)节点和compute节点. 下面是VMware上虚拟机的基础配置。 computecontroller 双网卡,NAT模式和仅主机模式,配置硬盘各给50G 多添的一块

    2024年02月02日
    浏览(47)
  • Nacos 安装教程(史上最详细保姆级教程)

    作者:大三的土狗 专栏:SpringCloud    Nacos的全称是Dynamic Naming and Configuration Service,Na为naming/nameServer即注册中心,co为configuration即注册中心,service是指该注册/配置中心都是以服务为核心。   Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,

    2024年02月03日
    浏览(61)
  • Hadoop为什么如此流行——史上最详解

    作者:禅与计算机程序设计艺术 Hadoop是一个开源的分布式计算框架,其出现主要是为了解决海量数据的存储、计算、分析、和处理问题。随着互联网的数据量不断增加,分布式系统越来越普及,Hadoop也越来越受到青睐。它具备高容错性、高可靠性、弹性扩展等特性,能够适应

    2024年02月08日
    浏览(53)
  • 盘点史上最严重的五大黑客攻击事件

    黑客攻击事件频频发生 数据安全越发重要 索尼旗下PlayStation Network平台又遭黑客入侵,数百万用户的姓名、住址、账号密码等信息遭窃。这一消息被曝光以后,科技界再次聚焦互联网安全这个异常棘手但至关重要的话题。黑客入侵电脑网络并窃取用户数据并不是什么新鲜事,

    2024年02月16日
    浏览(41)
  • C++ system()函数的常用用法 (史上最详细)

    目录 一.推荐:     1. system(\\\"pause\\\")     2. system(\\\"color *\\\")     3.system(\\\"title *\\\")     4. system(\\\"cls\\\") 二.文件操作:     1. system(\\\"start *\\\")     2. system(\\\"del *\\\")     3. system(\\\"copy A B\\\")     4. system(\\\"move A B\\\") 三.系统操作     1. 关机,重启,睡眠     2. 日期/时间     3. task     1. system(\\\"pause\\\"

    2024年02月12日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包