写点什么

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

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

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

关注

评论

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

2024中国新科技100强名单出炉!MIAOYUN荣获“2024云原生领航企业奖”

MIAOYUN

云计算 云原生 科技创新 新质生产力 新科技

Databend 为什么能帮用户降低 90% 成本?

Databend

Lightroom Classic 2022(lrc2022)支持(Win&Mac)版

你的猪会飞吗

LRC2022 mac破解软件下载 lrc2022下载

Expressions for mac破解版 - 简洁优雅的正则表达式利器

理理

JetBrains pycharm pro 2024最新永久激活码 pycharm2024下载安装

理理

客户成功案例(1):新闻媒体/招投标/行业资讯数据聚合

八爪鱼采集器︱RPA机器人

爬虫 采集 爬虫软件

Spark“数字人体”AI挑战赛_脊柱疾病智能诊断大赛_GPU赛道亚军比赛攻略_triple-Z团队

阿里云天池

人工智能 | 手工测试用例转Web自动化测试生成

测吧(北京)科技有限公司

测试

打造数据平台:Cloudera下载安装全流程!

敏捷调度TASKCTL

hadoop cloudera 大数据运维 CDH 大数据 Hadoop

如何根据拍立淘API返回值进行商品数据分析

技术冰糖葫芦

API Gateway api 货币化 API 接口 API 测试 pinduoduo API

智源研究院发布中文互联网语料库CCI3.0 推动数据共建共享

智源研究院

洞察药监局数据,挖掘万亿价值

八爪鱼采集器︱RPA机器人

爬虫 采集

Windows 10 on ARM, version 22H2 (updated Sep 2024) ARM64 AArch64 中文版、英文版下载

sysin

windows arm 10

企业如何通过ETL工具实现主数据的同步

RestCloud

数据处理 ETL 主数据 企业数据

什么是自助服务门户?

ServiceDesk_Plus

IT服务 IT服务管理 自助服务

深度解析拍立淘API:揭秘卖家与店铺数据的全面掌控

代码忍者

API 测试 pinduoduo API

In-depth analysis: IPQ5332 and QCN9274 together to create a Wi-Fi 7 network solution

wifi6-yiyi

WiFi7

“AI+Security”系列第3期(四):360安全大模型业务实践

云起无垠

客户成功案例3:企业数据模型搭建、灾害预警解决方案

八爪鱼采集器︱RPA机器人

爬虫 采集

爬虫如何帮助构建比价系统|涨姿势

八爪鱼采集器︱RPA机器人

爬虫 采集

CVPR2021 安全AI挑战者计划第六期赛道一第二名方案分享 (UM-SIAT队)

阿里云天池

SketchUp Pro 2024 中文版-su草图大师下载-专业的3D建模软件-Mac/win

理理

Mac OS电脑硬件信息监控软件 iStat Menus 中文版

理理

Windows 10 version 22H2 (updated Sep 2024) 中文版、英文版下载

sysin

windows 10

3D建模:Agisoft Metashape Professional 破解安装教程分享 Mac/win

理理

解锁境外旅行新姿势,四个小tips助你玩转国庆假期

最新动态

Windows 11 version 23H2 中文版、英文版 (x64、ARM64) 下载 (updated Sep 2024)

sysin

windows 11

Windows Server 2022 中文版、英文版下载 (updated Sep 2024)

sysin

windows Server 2022

链藏“万亿金矿”的新能源,汽车企业如何抓住客户体验数字化新机遇?

八爪鱼采集器︱RPA机器人

爬虫 采集

TON生态系统开发指南:从零开始构建你的Web3应用

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 代币开发

macOS 15 Blank OVF - macOS Sequoia 虚拟化解决方案

sysin

macos 虚拟化 sequoia ovf

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