持续集成/持续交付(通常称为CI/CD)有望通过更快,更可靠地交付软件来帮助软件公司变得更加敏捷。CI/CD的目标是将软件开发和交付时间表从数月或数周减少到数天甚至数小时。它通过推送频繁的更新和修复而不考虑大小来实现此目的,并使用自动化工具来帮助流程平稳运行。
根据Gartner的说法,CI/CD是组织目前正在采用的最常见的敏捷实践。按照理论,公司开发过程越敏捷,其盈利就越好,那么CI/CD到底是什么?
CI/CD:两个截然不同的过程
尽管经常将他们混在一起,但应该将持续集成和持续交付视为现代软件开发生命周期中的两个不同阶段。持续集成是将代码频繁合并到内部版本中的过程,持续交付是使用自动化将代码从开发阶段快速高效地转移到生产阶段的下一步。
持续集成
持续集成是将代码不断集成到组织的代码库中的开发人员的实践,这个想法是进行一些小的更改并将这些更改过的代码频繁地提交到共享存储库中(至少每天一次,但通常一天多次)。每个集成都由自动构建进行验证,该构建包括测试以检测任何集成错误。
如果只是更改较小的代码那么产生意外后果的概率就会降低,通过连续加入代码,可以解决构建问题,并在开发过程的早期就解决了问题。这显著减少了集成问题,并使修复损坏的版本更加容易。它还有助于减少非关键性缺陷的积压,因为在构建新功能的压力之前,已对这些问题进行了补救。频繁签到还可以促进团队之间的协作,并允许开发人员更快地将质量更好的软件提供给客户。
自动