Docker 实战(2)- 在 Jenkins 容器上的搭建持续集成环境和完成自动化测试

简介: Docker 实战(2)- 在 Jenkins 容器上的搭建持续集成环境和完成自动化测试

如果你还想从头学起 Docker,可以看看这个系列的文章哦!

https://www.cnblogs.com/poloyy/category/1870863.html

 

搭建 Jenkins 容器


就是实战第一篇文章:https://www.cnblogs.com/poloyy/p/13954637.html

 

Jenkins 初始化流程


访问 Jenkins

查看本机 IP

ifconfig

 

查看容器运行端口

docker ps

image.png

我的是用主机 80 端口映射到容器的 8080 端口

 

浏览器访问 Jenkins

http://ip:80

 

查看管理员密码

进入到页面


image.png

查看密码有两种方式

 

第一种:查看容器日志

docker logs jenkins1

image.png

打码那一行就是密码哦

 

第二种: 去文件夹查看

cat /var/jenkins_node/secrets/initialAdminPassword

image.png

  • 因为我创建 Jenkins 容器时,将主机的 /var/jenkins_node 目录映射了容器的 /var/jenkins_home 目录
  • 所以可以直接在主机查到管理员密码,而无需进入容器再查看

 

初始化流程

image.png

创建管理员用户

自己配啥记住就行了,没啥特别要求

image.png

实例配置

默认会给一个地址的,不改也可以

image.png

配置完成

image.png


进入主界面

image.png


下载插件


需要的插件 gitlab、gitlab hook、allure

image.png

image.png

image.png

在它安装完后,自己重启 Jenkins 容器

docker restart jenkins1

 

将插件源切换国内源

直接看这个教程:https://www.cnblogs.com/poloyy/p/12785401.html

 

Jenkins 汉化

直接看这个教程:https://www.cnblogs.com/poloyy/p/13955209.html

 

Jenkins 全局工具设置


image.png


配置 JDK

image.png


配置 Git

image.png


配置 allure

image.png

应用保存!即可!

 

Jenkins 邮件功能测试

image.png

配置 Extended E-mail Notification

image.png


自定义电子邮=件通知的默认收件人列表

image.png

  • 可以在项目中使用 $DEFAULT_RECIPIENTS ,来包含此默认收件人列表(下面创建项目时讲到这个变量)
  • 若要向某人抄送或密件抄送,不是将其放在“收件人”列表中,请在电子邮件地址之前添加 cc: 或密件抄送 bcc: (例如:cc:someone@example.com,bcc:bob@example.com)

 

配置邮箱通知


image.png

使用 Jenkins 实现自动化测试


将项目放到主机映射到容器的目录下

通过  xftp 将项目上传到主机

image.png

有 28 个测试用例都跑通了哦

 

Jenkins 创建任务工程

新建任务

image.png

image.png

Jenkins 任务配置构建后操作

在完成系统设置后,还需要给需要构建的项目进行邮件配置

image.png

image.png

image.png

重点:这里就有 $DEFAULT_RECIPIENTS ,上面也有讲到这个环境变量,默认收件人列表,如果需要添加新的收件邮件,需要用 , 隔开

image.png

邮件模板

直接复制粘贴到内容框就行

<!DOCTYPE html>    
<html>    
<head>    
<meta charset="UTF-8">    
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>    
</head>    
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"    
    offset="0">    
    <table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">    
        <tr>    
            本邮件由系统自动发出,无需回复!<br/>            
            各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br> 
            <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>   
        </tr>    
        <tr>    
            <td><br />    
            <b><font color="#0B610B">构建信息</font></b>    
            <hr size="2" width="100%" align="center" /></td>    
        </tr>    
        <tr>    
            <td>    
                <ul>    
                    <li>项目名称 : ${PROJECT_NAME}</li>    
                    <li>构建编号 : 第${BUILD_NUMBER}次构建</li>    
                    <li>触发原因: ${CAUSE}</li>    
                    <li>构建状态: ${BUILD_STATUS}</li>    
                    <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>    
                    <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>    
                    <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>    
                    <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>    
                     <li>测试报告: <a href="${PROJECT_URL}allure">${PROJECT_URL}allure</a></li> 
                </ul>    
<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>
<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
            </td>    
        </tr>    
    </table>    
</body>


image.png

image.png

最后保存

 

进行第一次构建

image.png

查看控制台输出

image.png

邮件发送成功!!

 

Jenkins 任务配置构建操作

主要两个任务

  1. 配置 pytest 命令
  2. 生成 allure 报告

 

配置 pytest 命令

image.png

生成 allure 报告

image.png

image.png

这张图是重点哦

 

保存!!就成功了!

 

进行第二次构建

image.png

相关文章
|
6月前
|
数据采集 JSON JavaScript
Cypress 插件实战:让测试更稳定,不再“偶尔掉链子”
本文分享如何通过自定义Cypress插件解决测试不稳定的痛点。插件可实现智能等待、数据预处理等能力,替代传统硬性等待,有效减少偶发性失败,提升测试效率和可维护性。文内包含具体实现方法与最佳实践。
|
7月前
|
存储 关系型数据库 测试技术
玩转n8n测试自动化:核心节点详解与测试实战指南
n8n中节点是自动化测试的核心,涵盖触发器、数据操作、逻辑控制和工具节点。通过组合节点,测试工程师可构建高效、智能的测试流程,提升测试自动化能力。
|
6月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
723 51
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
8月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
8月前
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。
|
6月前
|
人工智能 自然语言处理 JavaScript
Playwright MCP在UI回归测试中的实战:构建AI自主测试智能体
Playwright MCP结合AI智能体,革新UI回归测试:通过自然语言驱动浏览器操作,降低脚本编写门槛,提升测试效率与覆盖范围。借助快照解析、智能定位与Jira等工具集成,实现从需求描述到自动化执行的闭环,推动测试迈向智能化、民主化新阶段。
|
8月前
|
人工智能 缓存 测试技术
Playwright进阶指南 (6) | 自动化测试实战
2025企业级测试解决方案全面解析:从单元测试到千级并发,构建高可用测试体系。结合Playwright智能工具,解决传统测试维护成本高、环境依赖强、执行效率低等痛点,提升测试成功率,内容从测试架构设计、电商系统实战框架、高级测试策略、Docker化部署、CI/CD集成及AI测试应用,助力测试工程师掌握前沿技术,打造高效稳定的测试流程。
Playwright进阶指南 (6) | 自动化测试实战
|
7月前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
909 11
|
8月前
|
算法 测试技术 API
从自学到实战:一位测试工程师的成长之路
在技术快速发展的今天,自动化测试已成为提升职场竞争力的关键技能。本文讲述了一位测试工程师从自学到实战的成长之路,分享他在学习UI、APP和API自动化过程中遇到的挑战,以及如何通过实际项目磨炼技术、突破瓶颈。他从最初自学的迷茫,到实战中发现问题、解决问题,再到得到导师指导,逐步掌握测试开发的核心思维,并向测试平台建设方向迈进。文章总结了他从理论到实践、从执行到思考的转变经验,强调了实战、导师指导和技术服务于业务的重要性。最后,邀请读者分享自己的技术突破故事,共同交流成长。
|
8月前
|
资源调度 前端开发 JavaScript
Jest 测试实战指南
本文系统讲解如何使用 Jest 进行高效的 JavaScript 函数测试,涵盖环境搭建、测试用例编写、模拟函数与快照测试等内容,帮助开发者提升代码质量与测试效率。
309 0
下一篇
开通oss服务