持续集成
使用构建服务器最主要的好处是实现持续集成。每当检测到代码库的变更,一次测试新提交的代码的构建就开始了。
由于可能有许多开发者在代码库工作,每个人使用的版本都略有区别,所以知道所有不同的变更能否一起正确工作就显得非常重要。这被称为集成测试。如果集成测试还遥遥无期,就存在一个不同代码分支各自演进,合并变得不再容易的问题。这个结果通常被称为“合并地狱”。因为各个分支大不相同,如何把开发者的本地变更合并到主干上也变得不再清晰。这种情形不是我们想要的。合并地狱的根源经常可能令人大吃一惊:就是心理问题。为了把你的变更合并到主线,有一个心理障碍需要克服。DevOps工作的一部分就是简化事情,降低像提交变更这种重要工作的感知成本。
持续集成上的构建通常比开发者的本地构建更加严格。这些构建需要很长的时间来运行,但是如今的高性能硬件已不再昂贵,我们的构建服务器足以应付。
如果构建快到不至于让人感到无聊,开发者将会对频繁提交充满热情,集成问题将会更早出现。