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

从测试角度看待CI/CD,敏捷开发

什么是敏捷开发?

是在高强度反馈的情况下,短周期,不断的迭代产品,满足用户需求,抢占更多的市场

敏捷开发是什么?

是一种产品快速迭代的情况下,降低出错的概率,具体会落实到公司的规章制度上,去确保快速响应,快速迭代

什么是CI/CD

是一种持续交付,持续部署并自动测试的自动化软件系统,是敏捷落地的具体产物,

我以我在前东家了解到的业务实践场景,简述下:

CI

CI是***持续提交***,具体体现在开发同学,可以在github不停的提交分支代码,Jenkins自动拉取最新的分支代码部署,测试同学 在ModHeader 中设置 X-Env-Branch: 分支名称(一个浏览器插件,用于修改HTTP请求头),后端就会自动将请求路由到对应分支环境的镜像实例,实现多分支并行测试的能力,且互不干扰。
这个是我目前见过最好的一个落地实践,在部署完毕之后,还可以自动执行核心测试套件(接口返回200),进行自动化测试,测试不通过,自动@提交者,提供接口测试报告,提交者(开发者)可以查看那些接口有问题,进行修改,提高效率

CD

是随时可以发布,但是具体到实施,都是有固定的时间节点,错过了,需要走紧急发布邮件通知负责人,这样做的好处是:在特定节点上线,有利于集成测试环境的回归,确保所有本次要上线的分支,都合到集成测试环境,各个模块都被所有的改动,都在集成测试环境中回归验证过;
CD发布的环境,可以具体划分为
分支测试环境:对应上述的CI开发提交代码到github,Jenkins自动拉去部署
集成测试环境:分支测试没有问题,便把代码合到master分支,Jenkins自动拉取并部署
stage环境:和线上共用同一个库,区别是没有流量的进入
生产环境:真实用户使用的环境

比较好的CD落地是,测试同学可以手动设置不同的tag进行发布,并关联jira上需求的状态,对需求的状态相互验证,如果当前环境有问题,测试同学可以选择测试不通过,或者发布中止,进入回滚流程,选最近一次生产发布过的tag,进行快速回滚

http://www.lryc.cn/news/2398386.html

相关文章:

  • agent mode 代理模式,整体要求,系统要求, 系统指令
  • ES101系列07 | 分布式系统和分页
  • Spring AI Advisor机制
  • Vue3 + Vite:我的 Qiankun 微前端主子应用实践指南
  • 使用ArcPy生成地图系列
  • 日语输入法怎么使用罗马字布局怎么安装日语输入法
  • U盘挂载Linux
  • 数据结构:栈(Stack)和堆(Heap)
  • 用 Vue 做一个轻量离线的“待办清单 + 情绪打卡”小工具
  • 3D Gaussian splatting 05: 代码阅读-训练整体流程
  • Linux——计算机网络基础
  • 第2章_Excel_知识点笔记
  • 缩量和放量指的是什么?
  • PostgreSQL数据库备份
  • 企业级Spring MVC高级主题与实用技术讲解
  • js-day7
  • 【算法训练营Day04】链表part2
  • 【ROS2】各种相关概念汇总解释
  • 解决Vditor加载Markdown网页很慢的问题(Vite+JS+Vditor)
  • Flowise 本地部署文档及 MCP 使用说明
  • YOLO学习笔记 | 一种用于海面目标检测的多尺度YOLO算法
  • 鸿蒙5.0项目开发——横竖屏切换开发
  • Triton推理服务器部署YOLOv8(onnxruntime后端和TensorRT后端)
  • TDengine 的 AI 应用实战——电力需求预测
  • NLP学习路线图(二十一): 词向量可视化与分析
  • 【分布式技术】KeepAlived高可用架构科普
  • 如何配置mvn镜像源为华为云
  • Linux平台排查CPU占用高的进程和线程指南
  • 多模态大语言模型arxiv论文略读(105)
  • 简述MySQL 超大分页怎么处理 ?