一切即代码:高质量持续集成之道

本文探讨了持续集成的背景,强调了CI稳定性的关键性和“Everything As Code”理念的重要性。通过将CI管道、配置、测试用例和基础设施视为代码,采用软件开发的最佳实践,如代码审查和自动化测试,可以提升CI系统的质量和稳定性。总结来说,"Everything As Code"旨在通过代码化管理和最佳实践,确保持续集成系统的高效和可靠。
摘要由CSDN通过智能技术生成

立志做国内自动化/AI测试领域最好的原创公众号。欢迎微信关注公号"测试不将就"(ID: awesometest),更多原创文章在路上。我们的口号是:“插上自动化/AI的翅膀,软件测试也能高大上”,同时会发布关于Python开发, 持续集成等精彩文章。

作者:肖哥,资深码农/技术写作者,欢迎添加作者微信(slxiaozju)交流。

PART 1: 背景

持续集成(Continuous Integration, CI)存在的意义,是发现代码改动(Gerrit ticket/Gitlab MR/Github PR, etc.)所包含的软件问题(Bug),并阻止这些有问题的代码改动合入代码主干(Master)。

CI由一系列任务(例如,Jenkins Job)组成。一般来说,只有所有任务都成功了,代码改动才能通过验证。任何一个任务的失败,都会导致代码改动无法提交。

然而,这样的CI规则基于的是一个潜在的假设,那就是:如果CI任务失败,那么失败一定是由触发这次任务的代码改动造成的。

显然,这种假设是过于理想化的,在实践中经常并不成立。因为CI是一个系统,被测软件(测试对象)只是CI的组成部分,而不是CI的全部。CI的失败,完全可能是由被测对象之外的因素导致的。

我们通常用“稳定性”(Stability)来衡量CI在判断代码改动是否有问题时的表现。对于一个稳定性足够高的CI来说,当代码改动没有问题时,它能够稳定地成功;而当代码改动有问题时,它又能够稳定地失败。这是目标。

虽然CI的稳定性受多方面因素制约。但是对于CI工程师来说,提高CI自身(即被测软件之外的部分)的质量(Quality),是一件自主可控的,能够促进CI整体更稳定的事情。

然而

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值