首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GitOps与传统CI/CD的区别

GitOps与传统CI/CD的区别
EN

Stack Overflow用户
提问于 2020-08-10 12:26:15
回答 2查看 1.8K关注 0票数 3

在正常的kubernetes CI/CD过程中,发生以下过程:

  • 克隆git
  • 构建和推送坞映像
  • 更新库的克隆代码,使用更新的代码

部署

根据gitops的定义

GitOps是一种新的持续部署方法,它利用Git作为声明性基础结构和应用程序的单一真理来源,同时提供修订和更改控制。使用GitOps,系统通过提交拉请求(以及随后的合并)来运行,以实现Git存储库中表示的系统的所需状态。

我对gitops的理解是,当您在git中更新任何内容(因为这是真相的来源),所需的kubernetes状态将更改为最新的状态,并部署最新的代码。

传统CI/CD没有gitops的最终结果:新代码被部署为kubernetes部署

的最终结果:新代码被部署为kubernetes部署

我想不出有什么区别。抱歉,如果你觉得怪怪的话。不过,我是个新手,还在探险。

谢谢你的答复

EN

回答 2

Stack Overflow用户

发布于 2020-08-11 17:30:02

CICD的重点是整个链:

您签入的代码tested

  • Container uploaded

  • Container get get uploaded

  • Container get deployed

  • Container获得测试

再加上中间的许多其他步骤。这就是为什么它是一个持续的集成和部署。你也可以说,一个端到端的过程。

GitOps不关心您的代码,坞构建之类的。它完全集中在保持您的应用程序更新(部署部分),在极端形式与进步交付完全自动化,交通转移和健康检查,汽车倒退等。

除此之外,您还有其他一些小细节,比如推拉、集群自治、关注点分离等。

票数 0
EN

Stack Overflow用户

发布于 2021-08-22 20:51:06

简短的回答- GitOps是一个框架,CI/CD是一个过程!

GitOps的目标是利用Git作为真理的来源,并赋予开发人员执行IT操作的能力。它通过持续集成和连续交付(CI/CD)实现Git工作流的自动化。让我举个例子-我有一个kubernetes集群,我为它设置了用于自动化的CI/CD管道,但是我们经常看到有人在集群上直接对应用程序版本进行手动更改(到处都是!)。我们利用GitOps对我的集群进行声明,这样每当有人进行手动更改时,它都会重写,并将其带回到Git中声明的原始声明(使用GitOps代理(如Flux) )。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63340183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档