1. 持续测试,DevOps最后一公里

说起 DevOps,大部分人的第一反应或者说闯入脑海的就是CI/CD(Continuous Integration/Continuous Delivery,即持续集成和持续交付)。但是,要想构建能够支撑起数字化转型要求的软件研发能力,与之适配的软件测试能力必不可少。正如由“软件质量报道”公众号和MeterSphere项目组共同撰写的《持续测试白皮书》第一章中所说,“持续交付了催生持续测试,持续测试应该嵌入到持续交付中,作为流水线中的一环,让开发过程可随时且具有连续性的自动化测试流程”。从经典的持续交付莫比乌斯环中也可以理解出“持续测试应该作为一项测基础和持续的测试活动、贯穿于整个软件交付周期之中。”企业开展持续测试能够帮助企业尽快获得软件发布后业务风险的反馈。

由中国信息通信研究院牵头撰写的全球首个 DevOps 标准,即《研发运营一体化(DevOps)能力成熟度模型》中第3部分--持续交付章节中也阐明了,测试管理作为持续交付7大能力域之一。

参照《研发运营一体化(DevOps)能力成熟度模型》要求,软件行业先后引入了SCRUM敏捷研发模型、持续构建、持续部署、持续监控等一系列最佳实践。而不同于CI/CD工具集,比如GitLab或者GitHub成为代码库标准,Jenkins成为持续集成工具主流,而测试本身,在DevOps流程体系中并没有一个平台或者工具完成所有的测试类型,用户会采用不同的工具完成不同的测试类型。乃至同一种测试都采用了不同的工具,比如接口测试有采用PostMan、Jmeter、Pytest等。而不同的测试工具无法都很的嵌入到DevOps流程体系中,从而导致了测试速度,测试反馈等滞后问题。从而导致当下,相比于其他环节,测试领域无论从工具的集成、最佳实践等都已经成为企业落地敏捷及DevOps实施的最大瓶颈。

2. 阿里云效DevOps平台

阿里云效是云原生时代一站式BizDevOps平台。支持公共云、专有云和混合云多种部署形态。云效 DevOps 的 6 大优势:

  • DevOps工具链一步配齐,开箱即用
  • 一套账号、数据体系,打通所有系统
  • 简单易用,优秀实践经验模板化沉淀
  • 深度集成阿里云产品,云上DevOps工具首选
  • 多重企业级安全防控能力,安全可信
  • 云效公共云产品,基础版,不限人数,免费使用(本次实践demo采用阿里云云效公有云版本)

云效 DevOps 提供项目协作、代码管理、持续交付流水线、云原生应用交付、在线IDE、制品仓库、测试管理、知识库 、效能洞察9大产品。

详情连接见:阿里云云效_云效_云原生时代新DevOps平台-阿里云

3. MeterSphere持续测试平台

MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、性能测试、 团队协作等功能,全面兼容 JMeter、Postman、Swagger 等开源、主流标准。具有四大功能模块:

  • 测试管理 :远超 TestLink 的使用体验,覆盖从编写用例到生成测试报告的完整流程;
  • 接口测试 :媲美 Postman 体验 ,接口管理、Mock、多协议支持、场景自动化,你想要的全都有。
  • 性能测试 :兼容 JMeter,支持 Kubernetes 和云环境,轻松支持高并发、分布式的性能测试。
  • 团队协作 :用户管理、租户管理、权限管理、资源管理,无论团队规模如何,总有适合的落地方式。

4. 为什么需要云效与MeterSphere集成

基于云效DevOps平台介绍,云效DevOps平台集成需求管理、代码管理、流水线、制品仓库、应用交付管理、测试管理等。但是在实际的使用中,在测试功能域中云效只包含了面向开发人员的单元测试和测试用例管理(可以给用例标记不同的测试类型,比如接口自动化,但是无实际作用),如下图所示,这点对应一些应用交付测试是远远不够的。

(流水线中的单元测试)

(测试计划中的测试用例)

所以为了更好的在DevOps环节中引入自动化测试,需要引入测试平台,能够将测试作为一项服务提供,而不仅仅是测试工具的使用。对企业而言无论产出比和对整体测试人员使用的友好度(并不是所有测试人员都可以基于python写接口自动化)上,MeterSphere在业内有着不错的口碑。所以MeterSphere和云效进行有效的集成,可以打通云效DevOps中测试最后的一个环节,实现1+1>2的效果。

5. 云效与MeterSphere如何集成

本次实操Demo重点依赖云效的流水线,实操环境采用了GitHub代码库,阿里云云效流水线,阿里云个人镜像仓库,本地Jenkins环境,一台本地虚拟机(用于自动化部署),MeterSphere平台,MeterSphere平台的Jenkins插件。本次模拟场景如下:

5.1 MeterSphere部署

MeterSphere官网提供了一键部署脚本:curl -sSL https://GitHub.com/metersphere/metersphere/releases/latest/download/quick_start.sh | sh

具体其他部署详见MeterSphere官网:一键部署 - MeterSphere 文档

5.2 MeterSphere Jenkins插件部署

1.    GitHub上下载MeterSphere Jenkins插件 https://GitHub.com/metersphere/jenkins-plugin

2.    在 Jenkins 的插件管理页面,上传并安装下载好的 hpi 插件包

3.    插件安装后,在指定的 Jenkins 构建任务中,添加「MeterSphere」类型的构建步骤

4.    根据图示配置,填写认证信息并选择需要触发执行的测试计划(本文测试计划名称为MeterSphere-demo-testplan)

5.3 云效DevOps平台具体配置步骤

1.    开通阿里云云效产品使用

2.    新建与配置流水

  • 新建流水线

  • 选择空白模板的流水线

  • 添加代码源:流水线中添加流水线GitHub代码仓库源(提示需要GitHub授权),选择GitHub的命名空间、仓库和分支

  • 添加构建:选镜像构建并推送至阿里云镜像仓库个人版,选择镜像仓库(需要提前在阿里云区域中开通镜像仓库),填写dockerfile路径(在GitHub代码库中需要包含dockerfile文件,详见GitHub样例),配置企业微信通知(需要提前创建企业微信助手的webhook)

  • docker部署:选择主机组(需要准备本地可以连接互联网一台主机,安装agent),编写部署脚本

  • 触发MeterSphere自动化测试:填写安装了MeterSphereJenkins插件的Jenkins Master信息,填写Job名称(本次实践名称为MeterSphere-demo-testplan)

备注:Jenkins实例全局安全设置中需关闭'防止跨站点请求伪造'选项,不然此部署会失败。 高版本 jenkins 关闭跨站请求伪造保护(CSRF) - 云+社区 - 腾讯云 (哈哈,腾讯云的社区贴)

  • 整体的流水线如下图所示:

5.4 GitHub配置

  • GitHub示例项目

  • 查看云效流水线中的webhook

  • GitHub代码库中配置webhook,Let me select individual events 选项中勾选Pull requests

6. 最终集成效果展示

编辑GitHub中index.heml中文件信息,然后commit changes提交。

自动触发云效流水线,云效流水线中已经显示正在运行。

点击流水线名称可以查看详细运行信息。

可以查看每个步骤执行情况。

同时企业微信已经收到相应的通知。

打开自动化部署系统页面,信息已经更新为代码修改的内容。

可以在MeterSphere平台中配置详细的测试结果企业微信通知。

点击企业微信的MeterSphere报告详情连接或者登陆MeterSphere平台,可以查看具体的报告内容。

7. 最后

结合云效和MeterSphere,企业可以快速补充 DevOps 流水线的最后一公里。当然此文章只是一个demo环境操作演示,并非正式的生产环境,供大家参考与思路参照。不同的企业可以结合自己的交付要求,将MeterSphere串入到交付流水线中。

MeterSphere与云效DevOps集成相关推荐

  1. 阿里云效devops平台简介

    阿里云效 云效是云原生时代一站式 BizDevOps 平台,产研数字化同行者,支持公共云.专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现产研数字化,打造 ...

  2. 云效DevOps实践-代码评审

    简介:在行业激烈竞争业务快速运转的今天,如何在实现快速交付的同时保证代码质量一直以来都是技术团队反复探讨的话题之一.代码评审是结对编程相互切磋相互学习的方式,是敏捷开发模式中的一个重要环节,是保障代码 ...

  3. 云效一站式DevOps平台

    云效一站式DevOps平台,开箱即用云效DevOps平台为企业提供项目协作.代码管理.持续交付流水线.云原生应用交付.在线IDE.制品仓库.测试管理.知识库 .效能洞察9大产品,云效一站式DevOps ...

  4. 什么是云效,云原生时代一站式DevOps平台

    什么是云效?使用云效体验一站式研发实现10 倍效能提升,阿里云云效,云原生时代新 DevOps 平台,支持公共云.专有云和混合云多种部署形态,云效通过云原生新技术和研发新模式,助力创新创业和数字化转型 ...

  5. 云效云栖大会首发应用交付和项目协作新品,助力企业DevOps到BizDevOps

    简介:2021年杭州云栖大会云效BizDevOps论坛,阿里云云效从DevOps理念.工具和实践案例层面进行全面升级.通过理念.工具和实践帮助企业从不仅拥有一朵云,还可以结合自己的业务用好云. 云效云 ...

  6. 云效首发应用交付和项目协作新品,助力企业DevOps到BizDevOps

    2021年杭州云栖大会云效BizDevOps论坛,阿里云云效从DevOps理念.工具和实践案例层面进行全面升级. 企业双敏组织愿景落地框架大图 阿里云云效DevOps首席顾问何勉老师全面地介绍了研发敏 ...

  7. 云原生 DevOps 的 5 步升级路径

    作者 | 张裕 编辑 | 雅纯 来源|阿里巴巴云原生公众号 什么是云原生 DevOps 点击查看视频:https://v.qq.com/x/page/u3220cutt7v.html 我们先通过上面一 ...

  8. 究竟什么是云原生DevOps呢?

    简介:究竟什么是云原生DevOps呢?我们认为:云原生DevOps是充分利用云原生基础设施,基于微服务/无服务架构体系和开源标准,语言和框架无关,具备持续交付和智能自运维能力,从而做到比传统DevOp ...

  9. 如何落地云原生DevOps?

    简介: 什么是云原生DevOps?在阿里内部有怎样的实践?企业又该如何落地?阿里云云效专家团队提出了下一代精益产品开发方法体系--ALPD,提供了系统的云原生DevOps落地的方法支撑,帮助企业渐进式 ...

最新文章

  1. input type右对齐与只读的
  2. 修改360浏览器 标题栏 显示的文字
  3. mysql还书过程_记一次安装 MySQL 的过程
  4. python制作系统程序与html交互_python+html语音人物交互_flask后台与前端(html)交互的两种方法...
  5. 7类合作伙伴,190条沟通路径,高德汽车如何实现组织高效沟通?
  6. oracle em界面监控出来的奇怪图像_海康poe主机断电重启后不出图像,显示用户被锁定...
  7. 桌面环境选择_Ubuntu 18.04 桌面环境初体验
  8. Hadoop大数据平台环境搭建注意事项,分布式数据采集,武汉数道云科技
  9. 安装SQL Sever2017时出现“Polybase要求安装Oracle JRE 7更新51(64位)或更高版本规则失效”的解决办法
  10. 抖音视频评论获取系统,获取抖音评论的系统
  11. SIGIR 2022 | 港大等提出超图对比学习在推荐系统中的应用
  12. 面向初学者的 MQL4 语言系列之4——自定义指标
  13. js练习:筋斗云案例练习
  14. CH559L单片机ADC介绍以及ADC采样案例
  15. 网站访问速度加速的方法
  16. opencv2计算机视觉编程手册(中文)pdf
  17. 如何使用 Python 爬虫爬取牛客网 Java 题库?
  18. 【植物大战僵尸-2】实现一炮秒杀僵尸
  19. qmail 相关问题
  20. 六个办公常用的网站,让你大开眼界的网站

热门文章

  1. atm机C语言密码编程,C语言编程ATM机.doc
  2. 各个 .NET 平台的 UI 框架比较
  3. bit Byte bps Bps
  4. 5G的前世今生---简述移动通信的发展
  5. IO有Buffered IO 和 Direct IO
  6. Oracle中的PLsql的符号解释大全
  7. ESP8266 NodeMCU:ESP-NOW Web 服务器传感器仪表板(ESP-NOW + Wi-Fi)
  8. html翻牌动画效果,js+css3翻牌动画效果
  9. 2021年前的最后一篇文章,分享一下前端这几年的感受和心得,总结过去展望未来
  10. 2021超全大数据面试宝典,吐血总结十万字,大数据面试收藏这一篇就够了