写点什么

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

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

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

关注

评论

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

牛人!百度T9大佬纯手打的Kafka学习笔记,吃透已胜过80%Java求职者

Java你猿哥

kafka 面试 面经 Kafka知识点

深入浅出ThreadLocal

做梦都在改BUG

Java 多线程 ThreadLocal

Java面试题大全(2023最新版)1500+大厂面试题附答案详解

采菊东篱下

Java 编程 面试

阿里内部总结的微服务笔记,从入门到精通小白也能学的会

做梦都在改BUG

Java 微服务 Spirng Cloud

一文总结Java的23种设计模式

做梦都在改BUG

Java 设计模式

某厂Java一面:一道JVM面试题引发的“栈帧”血案

Java你猿哥

Java 面试 JVM Java虚拟机

阿里资深架构师三年整理分享:java面试核心知识点原理篇文档

三十而立

Java 程序员 IT java面试

1658 页的《Java 面试突击核心讲》在牛客网火了,完整版 PDF 开放下载!

采菊东篱下

Java 面试

教你用华为云玩转物联网开发

程思扬

华为 物联网 华为云

PyTorch 深度学习实战 | DIEN 模拟兴趣演化的序列网络

TiAmo

深度学习 迭代跟进

ZBC新一轮流动性收益计划迎来新通缩,APR高达100%

威廉META

5年Java经验字节社招:半月3次面试,成功拿到Offer

Java你猿哥

Java 面试 面经 校招 春招

SpringBoot实现对配置文件中的明文密码加密

做梦都在改BUG

Java Spring Boot 框架

GitHub置顶神作开源!世界名著《Spring实战(第6版)》全彩文档

做梦都在改BUG

Java spring 框架

存储容量启动会圆满召开

科技热闻

ZBC新一轮流动性收益计划迎来新通缩,APR高达100%

西柚子

IDEA 热部署,修改代码不用重启项目

源字节1号

软件开发 开源治理 小程序开发

阿里巴巴独家的SpringCloud Alibaba学习笔记,面面俱到,太全了

架构师之道

编程 微服务 计算机 程序眼

简单好用的剪切板工具:Paste激活版

真大的脸盆

Mac 软件 mac剪切板工具 剪切板工具

工赋Meetup | 价值驱动的技术交流Call你来!4月2日上海见

工赋开发者社区

quarkus2.13.7搭建与基础开发环境配置总结

刘一江

GraalVM Quarkus java

ZBC新一轮流动性收益计划迎来新通缩,APR高达100%

鳄鱼视界

终于拿到了阿里2023年度九大Java技术文档——面试题+文档+白皮书

三十而立

Java 面试 java面试

这可能是2023最全的Java面试八股文!共计1658页,Java技术手册的天花板

架构师之道

Java 面试

“阿里爸爸”最新产出:Java面试突击核心讲(1658页),转载40W+

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

工赋开发者社区 | 做好生产线的规划与布局,能给工厂带来什么好处?

工赋开发者社区

多功能代码编辑器:CodeRunner激活版

真大的脸盆

代码编辑器 代码编辑 编辑代码

彩印图文版《Elasticsearch实战》文档,阿里内部共享,堪称精品

做梦都在改BUG

Java Elastic Search

阿里资深架构师三年整理分享:java面试核心知识点原理篇文档

三十而立

Java 程序员 面试 IT java面试

Spring、Spring MVC、Spring Boot三者的关系还傻傻分不清楚?

三十而立

Java 程序员 面试 IT java面试

Nacos心跳机制实现快速上下线

做梦都在改BUG

Java Spring Cloud nacos

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