Advertisement

CI/CD 持续交付

阅读量:

CI/CD

  • CI/CD
  • GitOps
  • Petclinic微服务 GitOps流水线设计

CI/CD

在这里插入图片描述
软件开发的最终目标是快速,高质量的交付客户价值。
行业实践证明,持续集成(continuous integration),持续交付(continuous delivery)是微服务交付的最佳实践。

CI:开发人员将代码提交到版本控制系统(gitlab)以后,将后续的软件构建,单元测试,集成测试 etc.这些环境尽可能的自动化,并将最终生成的交付件,提交到交付件仓库。CI自动化常用工具:Jenkins。

CD:当交付件生成以后,能够尽可能自动化的,将交付件依次发布到测试环境,准生产环境(UAT),生产环境,发布遵循升级流程,保证高质量的交付。

如果将CI/CD的相关工具集成起来,再配合企业软件交付的治理流程,所组成的软件交付链路,就称为CI/CD流水线 - CI/CD Pipeline。

各个公司的实践(工具,流程)有可能不同,有些公司不严格区分CI和CD,一个流程可以全部走完。

有些公司CI、CD是严格分为两个阶段,以交付件仓库作为分界点。

GitOps

在这里插入图片描述

发布状态同步器,会将两边的状态进行比对,如果发现不一致,会进行协调,达到一致。

Petclinic微服务 GitOps流水线设计

在这里插入图片描述

circleCI是个云服务。可以替换为Jenkins。
ArgoCD是发布状态同步器。

本地化CI: Gitlab + Jenkins + harbor 等同于公共服务: GitHub + circleCI + DockerHub
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~