Advertisement

持续集成(Continuous Integration, CI)

阅读量:

什么是持续集成

在软件开发领域中采用持续集成作为一种实践意味着团队中的开发者定期进行代码整合。这种做法通常要求每个参与者每天至少进行一次代码整合,在这种情况下可能导致每天有多个整合操作发生。每一次整合都会经过自动化构建流程的验证(包括编译、发布以及自动化测试),以便及时识别和修复集成功能中的问题。(by Martin Fowler)

持续集成的要点

  1. 自动化建设流程
  2. 每次代码提交时,在持续集成服务器上会自动触发一次构建。
  3. 除传统的单元和集成测试外,在自动化的框架下还包括静态和动态测试、性能评估以及历史数据对比分析。

持续集成有哪些优势

减少风险

一天中需要进行多次重复的集成操作(伴随相应的测试程序),这有助于及时发现缺陷并评估软件的整体健康状况。

减少重复过程

自动化构建将实现编译、发布以及自动化测试等阶段被编程自动化处理,并且减少大量的人工干预 efforts

持续交付

对于客户而言,在线可部署的应用程序是最实用的选择。持续集成技术允许您频繁地对源代码进行微调,并将其与其他代码整合在一起。随后完成部署和发布流程以实现高效的交付速度与频率提升。

增强项目的可见性

持续集成系统能够迅速提供项目状态和软件质量信息。一些持续集成系统能够报告功能完成情况和缺陷发生率。

建立团队对开发产品的信心

持续集成使团队成员对每次构建的结果有明确的认识,并清晰地认识到他们对软件改动所造成的后果。

相关概念

敏捷开发

敏捷开发是一种软件开发模式。与瀑布式模型相反,在其框架下核心关注点是基于用户需求进行持续性的产品进化与优化,并采用分阶段、逐步推进的方式实现系统的功能构建与业务逻辑实现过程。

DevOps

DevOps(由Development与Operations两部分合成的术语)是整合开发(软件工程)、技术运维及质量保障(QA)领域的一项综合体系。它旨在通过IT自动化以及持续集成(CI)、持续部署(CD)流程来优化程序开发、测试与系统运维等环节的工作流程,在实现开发与运维一体化的基础上实现更快捷、更频繁且更具可靠性的发布效果。该概念不仅包括技术和工具的运用,也涵盖了相应的操作流程和相关文化要素等多个维度的内容

全部评论 (0)

还没有任何评论哟~