CICD介绍「建议收藏」

CICD介绍「建议收藏」CICD一概要CICD的采用改变了开发人员和测试人员如何发布软件最初是瀑布模型,后来是敏捷开发,现在是DevOps,这是现代开发人员构建出色的产品的技术路线。随着DevOps的兴起,出现了持续集成(ContinuousIntegration)、持续交付(ContinuousDelivery)、持续部署(ContinuousDeployment)的新方法。传统的软件开发和…

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

CICD

一 概要

CICD的采用改变了开发人员和测试人员如何发布软件
在这里插入图片描述

最初是瀑布模型,后来是敏捷开发,现在是DevOps,这是现代开发人员构建出色的产品的技术路线。

随着DevOps的兴起,出现了持续集成(Continuous Integration)、持续交付(Continuous Delivery) 、持续部署(Continuous Deployment) 的新方法。传统的软件开发和交付方法正在迅速变得过时。

从历史上看,在敏捷时代,大多数公司会每月,每季度,每两年甚至每年发布部署/发布软件。然而,现在,在DevOps时代,每周,每天,甚至每天多次是常态。当SaaS正在占领世界时,尤其如此,您可以轻松地动态更新应用程序,而无需强迫客户下载新组件。很多时候,他们甚至都不会意识到正在发生变化。开发团队通过软件交付流水线(Pipeline)实现自动化,以缩短交付周期,大多数团队都有自动化流程来检查代码并部署到新环境。今天,我们将介绍什么是CI / CD / CD,以及现代软件公司如何使用工具将部署代码的流程自动化。

二 名词解释

持续集成

持续继承的重点是将各个开发人员的工作集合到一个代码仓库中。通常,每天都要进行几次,主要目的是尽早发现集成错误,使团队更加紧密结合,更好地协作。

持续交付

持续交付的目的是最小化部署或释放过程中固有的摩擦。它的实现通常能够将构建部署的每个步骤自动化,以便任何时刻能够安全地完成代码发布(理想情况下)。

持续部署

持续部署在持续集成的基础上更进一步,指将推送指仓库默认分支的部署至产品环境。如果这部分需要手动触发,这就是一个持续交付(Continuous Delivery)环节。


在这里插入图片描述

三 名词详解

1. CI

CI (Continuous Integration) 持续集成,开发人员可以通过持续集成将开发的代码持续的提交到公共的代码仓库中.开发人员可以在任何时候多次的提交自己开发的代码,而并不是独立的开发某一个独立模块并在开发周期结束的时候一起提交.

这里就是为了让开发人员可以更快,更频繁的提交自己的代码,从而降低成本.
传统开发中, 在开发过程中自己提交的代码和新提交的代码会存在冲突的地方,或者你的提交的代码和你的同时的代码存在冲突时,那么在提交时才会发现你的代码和其他的代码存在冲突.
持续集成中,就可以快速的避开这样的问题,更早的提交自己的代码的.与其他的开发的代码集成,就会更快的发现问题.那么冲突的问题就可以更早的解决,降低了集成的成本

当然许多组织发现这种集成会变得昂贵.因为他们需要手动的过程来确保新代码不会引入新的错误,并且不会破坏现有代码。
为了减少集成任务期间的摩擦,持续集成依赖于测试套件和自动化测试执行

持续集成的目的就是将集成简单化,简化了重复的日常开发任务,并在开发周期的最在时间发现问题.并且发现bug并及时的解决.

2. CD

CD(Continuous Delivery) 持续交付.其实就是CI的扩展.将CI进一步自动化.可以更方便的进行项目的部署.

CD集中依赖于部署流水线.可以通过流水线自动化的测试和部署
持续交付的本质就是将每一个构建成功的引用交付给用户去使用,在持续交付的认识中,不单是测试的完成,而是交付到客户的手中.
注意: 持续交付不是持续部署(Continuous Deploy) 因为部署也包括部署到测试环境中,而持续交付时表示一个具体的功能上线,用户可以使用的.

持续交付的好处
可以快速的获取的用户的反馈.适应市场变化和商业策略的变化。开发团队保证每次提交的修改都是可上线的修改,那么决定何时上线,上线哪部分功能则完全由产品业务团队决定

CD(Continuous Deployment) 持续部署

持续部署扩展了持续交付,以便软件构建,在通过所有测试时自动部署。在这样的流程中,不需要人为决定何时及如何投入生产环境。CI/CD 系统的最后一步将在构建后的组件/包退出流水线时自动部署。此类自动部署可以配置为快速向客户分发组件、功能模块或修复补丁,并准确说明当前提供的内容
采用持续部署的组织可以将新功能快速传递给用户,得到用户对于新版本的快速反馈,并且可以迅速处理任何明显的缺陷。

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146014.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 10款流程图绘制工具

    10款流程图绘制工具介绍10款免费、强大的在线流程图工具,绝对满足你对流程图的所有幻想!1.draw.iodraw.io是一款可以作为首选、强推的一款流程工具,不仅支持在线版,还可以安装到Windows、Mac进行离线使用,尤其是与VSCode的结合,让它支持的平台进一步得到丰富。2.ProcessOnProcessOn[2]可以算得上是一款老牌、知名的在线流程图工具。它不仅支持流程图,还支持思维导图、原型图、网络拓扑图、组织结构图、UML等。目前免费版支持个人文件存储9个,团队协作.

    2025年8月3日
    4
  • vscode html注释快捷键_宇宙最强vscode教程(基础篇)

    vscode html注释快捷键_宇宙最强vscode教程(基础篇)本文主要介绍vscode在工作中常用的快捷键及插件,目标在于提高工作效率本文的快捷键是基于mac的,windows下的快捷键放在括号里Cmd+Shift+P(winCtrl+Shift+P)零、快速入门有经验的可以跳过快速入门或者大致浏览一遍1.命令面板命令面板是vscode快捷键的主要交互界面,可以使用f1或者Cmd+Shift+P(winCtrl+Shift+P)打开。在命令…

    2022年6月9日
    52
  • 免费google代理服务器_google服务器ip地址

    免费google代理服务器_google服务器ip地址有些朋友在登陆谷歌时遇到异常活动而出验证,但是无论怎么输入手机号谷歌都提示此手机号无法用于验证,这种问题大多人都会出现,滥用代理基本都会出现异常验证活动的.谷歌过程中过不了手机号验证,但是在网络上搜一大堆教程也没有用,说什么用QQ邮箱注册、网易邮箱注册等等,这些方法都烂大街了,滥用这些APP接口注册都会被谷歌封号处理的,请大家不要被网上诸多教程误解…

    2022年9月29日
    6
  • 一阶微分不变性_二阶微分形式表示

    一阶微分不变性_二阶微分形式表示首先强化一下:1.d(dx)=d2x=02.dx2=(dx)23.d(x2)=2xdx上面3者各不相同,不可混淆。dy=d(f。g(x))=f(1)(u)g(1)(x)

    2022年8月3日
    4
  • docker(8)Dockerfile指令介绍「建议收藏」

    docker(8)Dockerfile指令介绍「建议收藏」前言Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。Dockerfile简介Dockerfile是用来构建Docker镜像的构建文件,是由一系列

    2022年7月30日
    8
  • 敏捷项目管理的流程_敏捷开发项目管理方法

    敏捷项目管理的流程_敏捷开发项目管理方法引言:敏捷绝非某一种特定的开发方法,它只是一种应对快速变化的需求的一种软件开发能力。敏捷本身只包含了《敏捷软件开发宣言》和《敏捷软件的十二条原则》两份文档。敏捷的起源:敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。目前很多互联网公司都在搞或者想

    2025年6月22日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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