50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

  • 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:131391
用户头像

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

关注

评论

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

如何在代码中验证sql的正确性?

不在线第一只蜗牛

数据库 sql

AI无法拯救病入膏肓的企业 —— 但会让问题暴露无遗

ShineScrum

领导力 敏捷领导力 +AI jishu

YashanDB SYS_CONTEXT函数

YashanDB

数据库 大数据

组装式开发范式:当代App高效构建的最优解之争

xuyinyin

“全球金牌敏捷课程” · 8月23-24日CSM认证课程

ShineScrum

Scrum Master CSM认证培训

后量子密码学的未来准备

qife122

加密技术 后量子密码学

CAD网络版授权如何PING

极客天地

跨平台分词利器:基于开发者空间进行仓颉版Tokenizer的Qwen模型适配

华为云开发者联盟

AI+ CodeArts 仓颉 Qwen2.5

YashanDB SYS_CONNECT_BY_PATH函数

YashanDB

数据库 大数据

Mysql的索引数量是否越多越好?为什么?

电子尖叫食人鱼

MySQL 数据库

CAD怎样裁剪图像

极客天地

YashanDB SYSTIMESTAMP函数

YashanDB

数据库 大数据

微服务拆分粒度,拆得太细还是太粗?一线架构师实战指南!

我爱娃哈哈😍

微服务 服务拆分

“数字创新产品课程” 8月16-17日 · CSPO认证在线课程

ShineScrum

产品负责人 CSPO认证 CSPO

分享‘动态化-Android资深开发工程师’的面试题

Y11

互联网 面试 开发 找工作 笔试

YashanDB SYS_EXTRACT_UTC函数

YashanDB

数据库 大数据

CAD光标如何在悬停图片时高亮显示

极客天地

Fabarta 个人专属智能体多版本上线:覆盖多领域场景,可结合需求灵活部署

Fabarta

人工智能 智能体

基于开发者空间部署OpenGauss完成AI智能索引和参数自调优实践

华为云开发者联盟

opengauss AI+ 华为开发者空间

同方智慧能源:OceanBase助力构建安全可靠、高性能的能源数据底座

老纪的技术唠嗑局

能源 OceanBase 社区版 #大数据

百度智能云AI“打工人”天团上线,7款数字员工“落地即上岗”

科技热闻

神经网络编码提升音频丢包恢复效率

qife122

神经网络 丢包恢复

YashanDB SYS_GUID函数

YashanDB

数据库 大数据

Figma上市狂飙,下一个中国版Figma在哪里?

职场工具箱

产品设计 设计师 figma 在线协作 ui设计

必看!导致事务失效的7大典型场景!

王磊

用户行为分析入门:行为事件分析指标解读

ClkLog

开源 埋点 sdk 用户行为分析 用户画像

“敏捷产品管理精进课程” 10月18-19日 · A-CSPO认证【提前报名特惠】

ShineScrum

产品负责人 CSPO认证

“团队敏捷教练进阶课程” 9月6-7日 · 在线A-CSM认证周末班

ShineScrum

Scrum Master CSM认证 A-CSM

高校、智库如何通过舆情监测提升学术服务力

沃观Wovision

海外舆情监控 沃观Wovision 舆情监测系统

8篇入选,1项最佳论文提名!快手AI 研究在KDD2025 “全面开花”

快手技术

人工智能 大模型 KDD 顶会论文

海外舆情监测数据怎么转化为选题、内容与广告创意?

沃观Wovision

海外舆情监控 沃观Wovision 舆情监测系统

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