写点什么

管道式的持续集成解决方案好吗?

  • 2007-09-29
  • 本文字数:941 字

    阅读完需:约 3 分钟

敏捷开发的最佳实践之一就是持续集成,它使团队成员可以有规律地将他们的代码与基线集成并运行所有的单元测试和系统测试。在大多数团队中,当代码检入后, 持续集成服务器都能很快地自动完成这个工作。通常在项目初期一切都很顺利,但有时当团队或代码基线变得很大时,持续集成的速度就会开始下降。构建内容在增 加而反馈速度却在下降,构建一次可能要花上一小时甚至更多才能知道成功与否,而些时,有人可能已经将他们的代码检入到构建失败的版本中了。

为了解决这个问题,很多团队使他们的持续集成“管道化”,即分阶段进行构建。运行轻量级的构建,这个构建仅包括执行速度较快的那些测试,这样团队可以较快的得到初步结果,而更大范围的构建会在后台运行。而那些较慢的功能 / 集成 / 系统测试会在随后的阶段执行。 Simon Stewart 认为这种解决方案是有好处的

这就是我们为什么最终会采用构建管道来做解决方案。较迟的构建比较早的构建会执行的更慢一些,但一切是按照能够提供更快反馈的方式来组织的。我们知道我们 只需要手工测试这些构建,让它们穿过管道的终点,假如我们向其中增加一些阶段,那么我们对应用程序按照预期方式执行的自信就会随之增加。如果我们足够聪明 (快看!我们又一次拉动了“聪明”这根杠杆!)的话,我们还可以把应用部署到越来越现实的环境中,并且把它当作管道的一部分来在上面运行测试,而这些是我 们在使用开发工作站时从来没有想到的事情。

然而,不是所有人都认为这是个好主意。 ThoughtWorks 的 Julian Simpson 把它叫做“厄运管道(pipeline of doom)”。他认为,我们是在用管道(一个慢速构建机制)来回避这个问题,而不是解决这个问题。这种方法只能给我们虚假的信心,认为我们的集成是成功的。开发人员一直在几个迭代中使用这些不好的代码,这只能加剧问题。

我发现管道方法存在另一方面的问题,那就是在开发者检入代码之前不会迫使他们运行功能测试,这就相当于你不让他们通过重构去改进代码。而假如大家运行它们 时感到痛苦的话,他们就有动力去解决它们。那些测试相当于给你当头棒喝:你必须小心又小心,否则,你可能在一天内只能运行很少的几次测试。

那么,你的团队使用了阶段化持续集成了吗?对你来说,效果如何呢?

查看英文原文 Is a Pipelined Continous Integration a Good Idea?

2007-09-29 05:131429
用户头像

发布了 100 篇内容, 共 25.8 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

智能生产管控数字化平台(源码+文档+部署+讲解)

深圳亥时科技

房主、设计师都爱的 Live Home 3D Pro,家居设计不再犯难!

Rose

iMovie 剪辑 for Mac(专业视频剪辑工具)v10.4.3中文版

Rose

Compressor for Mac:满足专业需求的强大文件压缩工具

Rose

易于使用的 PDF 编辑器和注释器 PDF Expert for Mac

Rose

如何区分产品研发管理和研发项目管理?实用指南

易成研发中心

项目管理 产品研发 产品研发管理

小公司如何做好项目管理工作?管理者的实战经验

易成研发中心

项目管理 程序员 项目软件管理

Final Cut Pro 11 正式发布带来强大的 AI 工具(fcpx视频剪辑最新版下载)

Rose

利用人工智能 ChatGPT 提升测试开发能力:通往高效之路

测试人

软件测试

超越传统截图,TechSmith Snagit 的高级功能让你眼前一亮!

Rose

PowerPhotos for Mac(mac专用图片管理工具)v2.6.4直装版

Rose

荣誉|奇点云入选首批“百舸企业”名单

奇点云

MES信息系统建设整体方案,MES技术方案书,需求规格说明书(Word原件完整版)

金陵老街

解决方案 系统源码

一文读懂计算机视觉「目标检测」的基本原理和主流模型

Zilliz

人工智能 计算机视觉 目标检测

量子计算与人工智能的交汇:科技未来的新引擎

天津汇柏科技有限公司

人工智能 量子计算

SpringBoot 3.3.5 试用CRaC,启动速度提升3到10倍

江南一点雨

充电桩管理平台(源码+文档+部署+讲解)

深圳亥时科技

Dash for Mac(好用的API文档工具)v7.3.2激活版

Rose

探索DDCA:深入理解内存架构、子系统与内存控制器

代码忍者

电脑重装系统后硬盘数据可以恢复吗?系统重装后以前的文件怎么找回来?

阿拉灯神丁

EasyRecovery 数据恢复软件 电脑 备份 & 恢复 系统还原

【教程】第七章:工作流——自动赋能,效率飞跃

NocoBase

开源 工作流 低代码 教程 无代码

Go Web服务中如何优雅平滑重启?

左诗右码

云起无垠入围“2024第五届“科创中国”科技创新创效大赛总决赛TOP10企业榜单”

云起无垠

Logic Pro X 11 mac苹果版音乐创作软件

Rose

「混合专家模型」可视化指南:A Visual Guide to MoE

Baihai IDP

程序员 AI LLMs MoE 混合专家模型

百度智能云 VectorDB 优势项目数量并列 TOP 1

Baidu AICLOUD

Milvus Zilliz 向量数据库 VDB

探究亚马逊详情API接口:开发与应用

科普小能手

API API 接口 亚马逊API 亚马逊商品详情API 亚马逊API接口

管道式的持续集成解决方案好吗?_研发效能_Amr Elssamadisy_InfoQ精选文章