CI/CD是什么?

现代软件开发是一个繁琐的过程,遇到需要部署到不同基础设施时,创建应用程序的复杂性增加;当应用程序出现规模性增长,开发团队人员变得更分散时,快速且不断地生产和发布软件的流程随之变得更加复杂

为解决这些问题,开发团队探索新的操作策略自动化构建、测试和发布流程帮助开发团队提高生产效率,缩短开发周期。这就是持续交付和持续集成发展的由来。

CI是Continuous Integration 的简称,即持续集成。

CD是Continuous Deployment /Delivery 的简称,即持续部署/交付。

CI/CD是什么?_第1张图片

工厂里的装配线以快速、自动化、可重复的方式从原材料生产出消费品。软件交付管道以快速、自动化和可重复的方式从源代码生成发布版本,完成这项工作的总体设计称为“持续交付 CD”,启动装配线的过程称为“持续集成 CI ”,确保质量的过程称为“持续测试”,将最终产品提供给用户称为“持续部署 CD”。

一系列能简单、顺畅、高效地运行的活动,被称为“运维开发 DevOps ”。

CI/CD最直观的作用

重复的工作用自动化来代替、减少时间成本、缩短版本的发布时间!

为什么 CI/CD 很重要?

CI/CD 允许组织快速有效地发布软件。CI/CD 促进了一个有效的流程,以比以往更快的速度将产品推向市场,不断地将代码交付到生产中,并通过最有效的交付方法确保新功能和错误修复的持续流动。 

CI/CD是什么?_第2张图片

CI和CD有什么区别?

持续集成 (CI) 是一种涉及开发人员对其代码进行微小更改和检查的实践。由于需求的规模和所涉及的步骤数量,这个过程是自动化的,以确保团队能够以可靠和可重复的方式构建、测试和打包他们的应用程序。有CI助于简化代码更改,从而增加开发人员进行更改并为改进软件做出贡献的时间。

持续交付(CD) 是将完整代码自动交付到测试和开发等环境。CD 为将代码交付到这些环境提供了一种自动化且一致的方式。

持续部署是持续交付的下一步。通过自动化测试的每个更改都会自动投入生产,从而导致许多生产部署。

持续部署应该是大多数不受监管或其他要求约束的公司的目标。

简而言之,CI 是开发人员在编写代码时执行的一组实践,而 CD 是代码完成后执行的一组实践。

CI/CD 与 DevOps 有什么关系?

DevOps 是一组实践和工具,旨在提高组织以比传统软件开发流程更快的速度交付应用程序和服务的能力。DevOps 速度的提高有助于组织更成功地为其客户提供服务,并在市场上更具竞争力。在 DevOps 环境中,成功的组织将安全性“融入”到开发生命周期的所有阶段,这种做法称为DevSecOps。

DevSecOps 的关键实践是将安全性集成到所有 DevOps 工作流中。通过在整个软件开发生命周期 SDLC 中尽早且始终如一地开展安全活动,组织可以确保他们尽早发现漏洞,并能够更好地就风险和缓解做出明智的决策。在更传统的安全实践中,直到生产阶段才解决安全问题,这不再与更快、更敏捷的 DevOps 方法兼容。如今,安全工具必须无缝融入开发人员工作流程和 CI/CD 管道,以便跟上 DevOps 的步伐,而不是降低开发速度。 

CI/CD 管道是更广泛的 DevOps/ DevSecOps 框架的一部分。为了成功实施和运行 CI/CD 管道,组织需要工具来防止减缓集成和交付的摩擦点。团队需要一个集成的技术工具链来促进协作和畅通无阻的开发工作。

CI/CD 有什么好处?

  • 自动化测试可实现持续交付,从而确保软件质量和安全性,并提高生产代码的盈利能力。
  • CI/CD 管道可以大大缩短新产品功能的上市时间,创造更快乐的客户并减轻开发压力。
  • CI/CD 管道实现的整体交付速度的大幅提高提高了组织的竞争优势。
  • 自动化使团队成员能够专注于他们最擅长的事情,从而产生最好的最终产品。
  • 拥有成功 CI/CD 管道的组织可以吸引优秀人才。通过摆脱传统的瀑布方法,工程师和开发人员不再陷入重复性活动,这些活动通常高度依赖于其他任务的完成。 

你可能感兴趣的:(devops,运维)