如何实施 CI/CD:DevOps 领导者的 3 条关键原则

本文基于一公司在过去 3 到 4 年中为数百个项目构建和构建 CI/CD 管道的实践经验。每个 DevOps 领导者都从一个基本问题开始——如何在我们公司成功实施 CI/CD?

本文不是在软件管道中实施 CI/CD 的分步指南。相反,它概述了成功实施 CI/CD 管道以满足组织需求的关键原则和领导策略,主要关注从零开始的团队。

面向领导者的CI-CD

CI 代表持续集成。它涉及将各种开发人员的代码贡献合并到一个共享存储库中,如 GitHub 或 GitLab,并在一天内多次运行自动化构建和测试。

CD 代表持续交付或持续部署。根据实现,它们都略有不同。但是,它们通常指的是 CI/CD 管道的部署和交付阶段。它主要是将新代码部署到生产环境的过程。

成功实施 CI/CD 管道,通过可衡量的增长指标无缝扩展您的业务。我们以持续测试为例:

CI/CD 可以大大减少在向客户推出之前测试新功能所花费的时间。通过运行自动化测试,开发人员可以更快地获得有关其功能的反馈。为了提高代码质量并减少生产中的错误,请在每次提交时运行持续的自动化测试,而不是在软件交付结束时运行一次测试。

使用 CI/CD,您可以极大地减少软件反馈循环。功能开发、增强和修复将加速。它还减少了为客户部署新功能的时间。如果您以正确的方式实施 CD,则可以在开发后的几分钟内部署新功能。

所有这些看起来都是 IT 和业务增长的巨大胜利。获得这些好处的唯一先决条件是根据业务不断变化的需求有效并定期迭代地设置 CI/CD 系统。

成功实施 CI-CD 管道的关键原则

1. 采用简单性、灵活性和可重复性

通常,为了成功实施 CI/CD 自动化,团队需要从手动、缓慢且耗时的流程过渡到自动化、快速且快速的流程。一些公司最终可能会从每年 3 或 4 次发布,到每周甚至每天 1 次或更多。

在启动您的第一个 CI/CD 管道时,请始终根据您的业务需求和当前需求坚持基本要素。在实现、操作和优化方面避免过多的开销,因为它可能会完全吃掉这些好处。

避免使用大量工具和招聘,因为此时您可能不确定自己到底需要什么。如果以后需要,您可以添加不同的商业产品。您可以从外包给DevOps 即服务公司开始,该公司了解您的需求并以更具成本效益和及时的方式交付结果。

请记住,一开始,目标是创建一个自动化流程,该流程从您的源代码存储库中获取代码贡献,运行构建、测试和部署。随着管道的进展,将向合适的人发送更新。

长期战略应该基于简单。逐步开发您的管道,从 CI 开始,逐渐扩展到 CD。单元测试、代码质量分析和自动化构建等低影响工作是一个好的开始。

可重复性是成功 CI/CD 管道的基本原则。由于 CI/CD 中内置了自动化,因此如果需要,允许重新执行 CI/CD 管道中的作业非常重要。因此,如果修复了错误,开发人员自己可以轻松地重新运行管道,而无需任何额外的努力。

由于缺乏远见或经验,避免管道中的刚性和结构限制。灵活性是一个关键组成部分,尤其是当您将 CI/CD 视为业务增长的长期战略时。

例如,启用并发构建和部署。如果多个开发人员同时构建功能,则没有人应该等待其他管道成功。构造事物以有效地考虑并发的可能性。如果一个功能成功通过了所有的检查和测试,它就应该上线了!

2. 成功的 CI/CD 管道的构建块

成功的 CI/CD 管道的概念是非常主观的,并且因团队而异。您必须专注于基础知识,因为每个组织成功实施 CI/CD 管道的实际过程都不同。

领导者的 CI/CD部分中解释的基本构建块是:

  1. 持续集成– 在构建上合并、构建和运行自动化测试。
  2. 持续测试– 在 CI/CD 管道的每个阶段进行早期测试并经常进行测试。
  3. 持续交付– 通过手动批准将代码更改部署到目标环境。
  4. 持续部署– 无需任何手动批准即可将代码更改部署到目标环境。
  5. 持续监控监控应用程序和基础架构的运行状况、性能和可靠性的过程。

从 CI 开始,努力实现高度自动化、自动化交付和部署,直至持续监控。在某些时候,您必须使用多种工具来映射所有 CI/CD 构建块。有一套广泛的工具,可用于开源和商业 SAAS 类别。但是,请记住简单性是一个关键原则。工具太多可能很麻烦。

DevOps as a Service – VegaOps 紧密集成了强大的开源 DevOps 工具,如 GitLab、SonarQube、Docker、Ansible、ZAP 等,为客户翻译成功 CI-CD 管道的所有组件,并配备 24/7 人工帮助公司实施更优质的 CI-CD 流程的服务。

让我们讨论一个示例,Java Web 项目的 CI-CD 管道可以包括开源工具,例如作为存储库管理器的 Nexus、作为源代码存储库的 GitLab、CI 平台和用于 CD 的 Kubernetes。

所以,这个过程就像,开发人员将他们的代码更改提交到 GitLab,这会触发 CI 构建 Docker 映像。将 Docker 映像推送到 Container Registry,并将其用于自动化测试和暂存部署。如果所有检查和测试都成功通过,则会将部署清单发送到 Kubernetes 集群。Kubernetes 将反过来提取最新的图像并将它们作为容器运行,完成应用程序的持续交付周期。

3. CI/CD的有效团队建设

从 CI/CD 开始时,请始终选择能够成功的正确团队。一个不太害怕变化的高绩效团队总是一个不错的选择。

从一个影响较小的小项目开始,您可以尽可能地将其与其他项目隔离开来。您也可以从项目的一部分开始,例如前端甚至特定的微服务。当您获得信心时,您也可以集成其他组件。这将使您在选择方法时更加积极和灵活。

一个复杂的单体应用程序很难融入 DevOps。同样,单一文化也很难适应 DevOps 的敏捷思维。

如果您从头开始,建议从 CI 和低影响阶段(如构建和单元测试)开始的策略。在成功实施 CI 并具有可接受的代码覆盖率后,您可以开始将用于部署的 CD 阶段合并到交付管道中。

此外,在 CI/CD 管道的早期,优先考虑自动化测试。它将带来复合收益,因为高质量的测试会促进人们的认可,尤其是在文化上不愿过多自动化的组织中。

持续测试可提高您对新的自动化交付流程的信心。所有项目利益相关者都可以在需要时验证 CI/CD 管道,以分享持续的反馈。每个人都可以检查管道是否正常运行,通过之前手动进行的所有检查和测试。

当 CI/CD 自动化是新的并且团队正在适应手动操作任务时,持续反馈很重要。

结论

CI/CD 可以通过在软件开发生命周期中实施纪律、效率和质量控制来帮助敏捷团队扩大规模。它通常会简化开发周期和部署,从而提高交付速度和用户体验。

在早期阶段成功实施 CI/CD 的重点是简单性、可重复性和灵活性。首先从开源开始,如果需要,逐步扩展到商业 SAAS 产品。在 CI/CD 管道中利用自动化测试来增强团队的信心。允许团队通过更短的反馈循环进行交叉验证和重申,并努力实现持续改进。

The post 如何实施 CI/CD:DevOps 领导者的 3 条关键原则 first appeared on Linux迷.

版权声明:
作者:ht
链接:https://www.techfm.club/p/29826.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>