使用构建服务器最主要的好处是实现持续集成,中培专家刘老师指出,每当检测到代码库的变更,一次测试新提交的代码的构建就开始了。
由于可能有许多开发者在代码库工作,每个人使用的版本都略有区别,所以知道所有不同的变更能否一起正确工作就显得非常重要。这被称为集成测试。如果集成测试还遥遥无期,就存在一个不同代码分支各自演进,合并变得不再容易的问题。这个结果通常被称为“合并地狱”。因为各个分支大不相同,如何把开发者的本地变更合并到主干上也变得不再清晰。这种情形不是我们想要的。合并地狱的根源经常可能令人大吃一惊:就是心理问题。为了把你的变更合并到主线,有一个心理障碍需要克服。DevOps工作的一部分就是简化事情,降低像提交变更这种重要工作的感知成本。
持续集成上的构建通常比开发者的本地构建更加严格。这些构建需要很长的时间来运行,但是如今的高性能硬件已不再昂贵,我们的构建服务器足以应付。
如果构建快到不至于让人感到无聊,开发者将会对频繁提交充满热情,集成问题将会更早出现。
持续交付
在持续集成这一步胜利完成之后,你拥有的崭新工件就可以部署到服务器上了。一般来说,有一些测试环境会设置得像产品服务器那样。
一般来说构建服务器所做的最后一步,是从成功的构建里把最终工件部署到工件库里。在那里,部署服务器接管了部署到应用服务器的责任。在Java世界里,Nexus库管理器相当常见。它支持的格式不仅仅是Java,还有例如JavaScript工件和Yum体系的RPM。Nexus现在也支持Docker Registry的API了。
为RPM发行版使用Nexus只是可选方案之一。你可以用shell脚本很轻松地构建Yum体系。
想了解更多IT资讯,请访问中培伟业官网:中培伟业