当前位置: 首页 > news >正文

Jenkins+Docker自动化测试全攻略

点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快一、实现思路在 Linux 服务器安装 docker创建 jenkins 容器jenkins 中创建 pipeline 项目根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境)运行新的 python 容器执行 jenkins 从仓库中拉下来的自动化项目执行完成之后删除容器二、环境准备Linux 服务器一台(我的是 CentOS7)1、有云服务器的同学直接用云服务器2、没有云服务器的同学参考我的博客自己动手安装虚拟机吧在服务器上正确安装 docker1、拉取 jenkins 镜像jenkins/jenkins:alpine2、拉取 python3 镜像docker pull python:3-alpine三、创建 jenkins 容器命令docker run -dit --namejenkins_save01 -p 9999:8080 -uroot -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 容器端口-uroot指定容器用户为 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 容器浏览器访问 http://192.168.1.66:9999来到 jenkins 解锁页面1、http://192.168.1.66 为 Linux 服务器 IP 地址2、9999 为宿主机映射端口在 Linux 服务器执行命令获取管理员密码执行命令docker logs jenkins_save01复制密码输入到密码框点下一步来到如下页面(中间需要等待一段时间大概 1 分钟左右耐心等待)取消默认插件勾选进入下一步设置管理员用户名和密码(以后就用这个账号密码登陆你的 jenkins配置实例jenkins 初始化完成看到如下界面五、jenkins 安装插件点上一步骤开始使用 jenkins来到如下界面点 Manage Jenkins 来到如下页面点 Manage Plugins 安装插件1.Git 插件安装2、Docker 插件安装3、HTML Publisher 插件安装4、安装 Pipeline 插件5、安装完成后重启 jenkins 容器docker restart jenkins_save01六、创建 jenkins 任务重新登陆 jenkins点 New Item选择创建 Pipeline 项目配置构建记录保留规则配置 Git 仓库添加 Git 凭证配置 Jenkinsfile 路径配置完成直接点保存即可七、构建有项目执行环境的 python 镜像将项目依赖包导出来到 requirements.txt 文件中txt 文件名称可以随意写pip freeze requirements.txt在宿主机(安装 docker 的机子)上新建一个目录(我的目录在/app)将 requirements.txt 文件复制进去在 app 目录下创建 Dockerfile 文件(文件名必须是 Dockerfile没有后缀)requirement.txt 恩建内容如下unittestreport1.3.2 openpyxl3.0.7 ddt1.4.2 pytest6.2.2 selenium3.141.0 pymysql1.0.2 faker8.1.0 jsonpath0.82 BeautifulReport0.1.3 rsa4.7.2 pytest-html3.1.1 allure-pytest2.9.43 requests-toolbelt0.9.15.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)八、创建 build.sh 文件并放到项目根目录下echo 运行容器python执行自动化 docker run --rm -w$WORKSPACE --volumes-fromjenkins_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 -amupdateGit push十一、构建你 jenkins 任务点构建查看构建日志查看测试报告此时的测试报告会没有样式因为被 Jenkins 禁用了 CSS 样式需要我们手动解决十二、解决测试报告没有样式的问题把这个代码放进去执行System.setProperty(hudson.model.DirectoryBrowserSupport.CSP,)执行成功返回是空说明没问题重新构建就可以看到漂亮的测试报告了都看到这了点个赞再走呗最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。
http://www.zskr.cn/news/1362252.html

相关文章:

  • CANN-昇腾NPU-推理服务限流-怎么防止雪崩
  • 保姆级教程:在Ubuntu 22.04上为Gem5交叉编译SPEC2006(aarch64版)
  • Unity项目适配华为快应用rpk包的完整落地指南
  • 河北亮泽管道设备有限公司:2026年至今河北弹簧支吊架领域的优选实力服务商 - 2026年企业推荐榜
  • 解锁 Codex 逆向能力!一键部署 JS 逆向全能 Skill
  • AI Agent在政务审批系统中的零故障部署实践(工信部试点项目全链路复盘)
  • Super IO Blender插件:终极批量导入导出指南,工作效率提升300%
  • 2026年AI大模型接口中转站全网实测推荐:五大主流平台硬核数据对比全选型指南
  • 全方位强化 AI 逆向能力,这款 Skill 太实用了
  • AI Agent如何重构数据分析工作流:从数据清洗到洞察生成的7步自动化闭环(附企业级架构图)
  • 照亮虚拟世界:神经渲染中的神经光照技术全解析
  • 联邦学习中的‘物以类聚’:手把手教你用Python实现客户端自动聚类,提升个性化模型效果
  • 网络分析+LLM:破解AI医疗研究转化瓶颈的系统工程实践
  • 别再乱格式化!一文搞懂NTFS、exFAT等磁盘格式区别与DiskGenius格式化实操
  • 语义优先架构:从VLM实验看90%功能漂移与具身AI新范式
  • 龙芯电脑装系统,选UOS、Loongnix还是等Debian?给3A4000/3A5000用户的保姆级选择指南
  • Rufus制作Linux启动盘翻车实录:分区方案选错、U盘变砖怎么救?
  • 信创运维实战:用PXE批量部署银河麒麟V10桌面版,我踩过的坑都帮你填平了
  • 神经渲染革命:一文读懂可微分渲染的核心原理与产业未来
  • Docker部署YOLOv8训练+推理完整教程(含报错解决)
  • 【Markdown零基础使用教程】
  • 2026年乌鲁木齐先装后付装修公司top5实践经验案例分享
  • CANN 昇腾 FP16 vs FP32 精度博弈:深度学习数值精度实战指南
  • llm-compressor添加新量化策略 -- 邪修方法
  • CANN 昇腾训练食谱全景解读:cann-recipes-train 架构与使用指南
  • 2026系统运维培训机构点评榜|真机实战、就业兜底怎么选?资深运维一次讲透
  • 置信预测中APS与RAPS的覆盖差距:效率与可靠性的权衡
  • 2026南京娱乐许可证办理优质服务商推荐:南京农药兽药许可证办理/南京出版物许可证办理/南京危化品许可证办理/南京增值电信许可证办理/选择指南 - 优质品牌商家
  • 在Ubuntu 20.04上从源码编译Asterisk 18:保姆级避坑指南(解决pjproject、jansson依赖问题)
  • 鸿蒙electron跨端框架PC课业板实战:课程、截止时间、提交物和风险都放到桌面上