DevOps 与 CICD 详解

DevOps 与 CICD 详解DevOpsDevOps是Development(开发)和Operations(运维)的组合,是一种方法论,是一组过程、方法与系统的统称,用于促进应用开发、应用运维和质量保障(QA)部门之间的沟通、协作与整合,以期打破传统开发和运营之间的壁垒和鸿沟;DevOps是一种重视软件开发人员(Dev)和IT运维技术人员(Ops)之间沟通合作的文化、运动或惯例,通过自动化软件交付和架构变更的流程…

大家好,又见面了,我是你们的朋友全栈君。

DevOps

DevOps 是 Development(开发)和 Operations(运维)的组合,是一种方法论,是一组过程、方法与系统的统称,用于促进应用开发、应用运维和质量保障(QA)部门之间的沟通、协作与整合,以期打破传统开发和运营之间的壁垒和鸿沟;

DevOps 是一种重视软件开发人员(Dev)和IT运维技术人员(Ops)之间沟通合作的文化、运动或惯例,通过自动化软件交付和架构变更的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠;具体来说,就是在软件交付和部署过程中提高沟通与协作的效率,旨在更快、更可靠的的发布更高质量的产品;

也就是说 DevOps 是一组过程和方法的统称,并不指代某一特定的软件工具或软件工具组合;各种工具软件或软件组合可以实现 DevOps 的概念方法,其本质是一整套的方法论,而不是指某种或某些工具集合,与软件开发中设计到的 OOP、AOP、IOC(或DI)等类似,是一种理论或过程或方法的抽象或代称。
DevOps

CI

CI 的英文名称是 Continuous Integration,中文翻译为持续集成;CI 中,开发人员将会频繁地向主干提交代码,这些新提交的代码在最终合并到主干前,需要经过编译和自动化测试流进行验证;

持续集成 CI 是在源代码变更后自动检测、拉取、构建和进行单元测试的过程,持续集成的目标是快速确保开发人员新提交的变更是好的,并且适合在代码库中进一步使用;CI 的流程执行和理论实践让我们可以确定新代码和原有代码能否正确地集成在一起。
CI

CD

CD 对应多个英文名称,持续交付 Continuous Delivery 和持续部署 Continuous Deployment,以下分别介绍。

持续交付(Continuous Delivery)

完成 CI 中构建及单元测试和集成测试的自动化流程后,持续交付可自动将已验证的代码发布到存储库;为了实现高效的持续交付流程,务必要确保 CI 已内置于开发管道,持续交付的目标是拥有一个可随时部署到生产环境的代码库。

在持续交付中,每个阶段(从代码更改的合并,到生产就绪型构建版本的交付)都涉及测试自动化和代码发布自动化;在流程结束时,运维团队可以快速、轻松地将应用部署到生产环境中或发布给最终使用的用户。

CD1

持续部署(Continuous Deployment)

对于一个成熟的 CI/CD 管道来说,最后的阶段是持续部署;作为持续交付(自动将生产就绪型构建版本发布到代码存储库)的延伸,持续部署可以自动将应用发布到生产环境;

持续交付意味着所有的变更都可以被部署到生产环境中,持续部署意味着所有的变更都会被自动部署到生产环境中,但是出于业务考虑可以选择不部署;如果要实施持续部署,必须先实施持续交付;

持续交付并不是指软件每一个改动都要尽快部署到产品环境中,它指的是任何的代码修改都可以在任何时候实施部署;持续交付表示的是一种能力,而持续部署表示的则一种方式。持续部署是持续交付的最高阶段

CD2

CI、CD、DevOps 关系

DevOps 是 CI、CD 思想的延伸,CI、CD 是 DevOps 的基础核心,如果没有 CI、CD 自动化的工具和流程,我们谈 DevOps 是没有意义的;概念性的内容,每个人的理解都有所不同,都没有问题,咬文嚼字过犹不及,留下一图:

Rel

作者 Github : tojohnonly , 博客 : EnskDeCode

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134426.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Hibernate知识点总结

    Hibernate知识点总结

    2021年11月29日
  • java中scanner意思_Java中的Scanner

    java中scanner意思_Java中的ScannerScanner对象是一个简单的文本扫描仪,**可以使用正则解析文本字符串**。我们使用Scanner最多的地方可能就是读取键盘输入,但是Scanner的功能远比此强大。对于Scanner的进一步理解还是在LeetCode的一道算法题上,题目大意是输入一组分式加法构成的字符串,要求输出分式相加的结果。首先是输入”-2/3+2/3-4/5″,接着求其和。首先第一步需要解析字符串为所需的数据,我使用了s…

  • IDEA激活成功教程后一直提示JetbrainsAgent 相关的弹框问题

    IDEA激活成功教程后一直提示JetbrainsAgent 相关的弹框问题激活成功教程后打开IDEA就弹框,关闭之后会自动打开浏览器,隔一会也会弹出来 也是一样的问题一开始是说把txt 和 jar 文件放一个路径下之类的方法,几经波折,发现没任何用处~最后各种搜索排查,在设置下更改配置就不弹啦~settings设置下搜索agent 取消”Instrumenting agent(requires debugger restart)”在 Reload classes after compilation:选择第一个 Always…

  • pix2pix模型(雪花算法原理)

    一、算法名称Pix2pix算法(Image-to-ImageTranslation,图像翻译)来源于论文:Image-to-ImageTranslationwithConditionalAdversarialNetworks二、算法简要介绍、研究背景与意义2.1介绍图像处理、图形学和视觉中的许多问题都涉及到将输入图像转换为相应的输出图像。这些问题通常使用特定于应用程序的算法来处理,尽管设置总是相同的:将像素映射到像素。条件对抗性网(cGAN)是一种通用的解决方案,它似乎能很好地解决各

  • vb 随机数_vb随机产生一个范围的数

    vb 随机数_vb随机产生一个范围的数[代码]

  • linux 重启服务器命令[通俗易懂]

    linux 重启服务器命令[通俗易懂]Linux有如下的关机和重启命令:shutdown,reboot,halt,poweroff,那么它们有什么区别呢?shutdown-建议使用的命令shutdown是最常用也是最安全的关机和重启命令,它会在关机之前调用fsck检查磁盘,其中-h和-r是最常用的参数:-h:停止系统服务并关机-r:停止系统服务后重启下面看几个例子:shutdown-h…

    2022年10月18日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号