如何理解cicd

如何理解cicd项目开发可以分为这几个过程编码->构建->集成->测试->交付->部署首先引用一个例子譬如说,你开了一家公司,雇了很多码农在一起写代码。你说,要用Gitlab做代码管理。当一个码农在自己的开发机上写好代码之后,要合并到主分支里,他首先要发起一个MergeRequest(MR),这会在一个特定服务器上触发一次对他提交的代码的检查,包括代码格式检查、依赖关系检查以及单元测试等一系列检查,等通过了全部检查,他就可以将代码合并到主分支,否则他需

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

说明

CICD简单理解也就是持续集成、持续交付、持续部署
在项目开发工作中,可以分为这几个阶段

编码 -> 构建 -> 集成 -> 测试 -> 交付 -> 部署

其中持续集成、持续交付和持续部署有着不同的软件自动化交付周期,接下来我们通过例子来理解。

首先引用一个例子

譬如说,你开了一家公司,雇了很多码农在一起写代码。

  • 你说,要用 Gitlab 做代码管理。当一个码农在自己的开发机上写好代码之后,要合并到主分支里,他首先要发起一个 Merge Request(MR),这会在一个特定服务器上触发一次对他提交的代码的检查,包括代码格式检查、依赖关系检查以及单元测试等一系列检查,等通过了全部检查,他就可以将代码合并到主分支,否则他需要按照错误提示进行修改,然后发起新一轮的检查。然后呢,每天晚上 10 点会有一个定时任务从主分支上拿最新的代码,进行编译打包,最后将打包好的程序推送到一个服务器上保存,这个服务器叫做 Artifact Repository,也就是Jenkins。
  • 你又说,要每天将当天打包好的程序部署到测试环境上。也就是说,一个码农晚上 10 点之前提交了代码,那他第二天就可以在测试环境上看到自己新提交的代码的效果了。
  • 你 还说,每一个月要在生产环境上部署一个稳定的发布版本。

这三个事例可以分别对应持续集成、持续交付以及持续部署。

1、持续集成(Continuous Integration)

持续集成的概念是:

持续集成是指软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误。

简单理解:
ci 持续集成服务器功能是不断地集成所有正在进行的更改并由不同的开发人员提交到存储库,并检查编译错误。它需要每天多次构建代码,最好是在每次提交之后,以便它可以检测在问题发生时是哪个提交Bug了。

2、持续交付(Continuous Delivery)

持续交付就是定时地、自动地从 Artifact Repository 将最新的程序部署到测试环境里。
在这里插入图片描述

3、持续部署(Continuous Deployment)

持续部署就是定时地、自动地将过去一个稳定的发布版本部署到生产环境里。
在这里插入图片描述
很明显,集成、交付和部署是软件开发到发布流程中的不同阶段。那所谓的持续是相对于过去的流程提出的。过去的流程是所有人写好代码之后再进行合并,然后再进行测试,最后再发布。这种流程会把风险堆到软件发布前的最后阶段。那持续的概念就是,做一点就马上递交给下一个流程,这样能够尽早地发现并解决问题。

4.补充说明

所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,
发现问题可以马上调整。使得问题不会放大到其他部分和后面的环节。
随着DevOps不断受到重视,频繁部署、快速交付以及开发测试流程自动化都将成为未来软件开发的重要组成部分。

文章引用

如何理解持续集成,持续交付,持续部署

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

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

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

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

(0)


相关推荐

  • 单片机—HLK-W801并口驱动ST7789

    介绍了w801上并口驱动sT7789的开发

  • VS2013过期激活,VS2013激活,vs2013序列号,VS2013密钥,VS013产品密匙

    VS2013过期激活,VS2013激活,vs2013序列号,VS2013密钥,VS013产品密匙vs2013认证许可已过期vs2013旗舰版密匙VS2013ultimatekeyVS2013激活码序列号,产品密钥,产品密匙,验证码,vs2013旗舰版破解:破解密匙,破解序列号:然后点击”更改我的产品许可证”, 不要点登录那里。。。输入密钥 BWG7X-J98B3-W34RT-33B3R-JVYW9即

  • 《Getting Started with WebRTC》第一章 WebRTC介绍

    《Getting Started with WebRTC》第一章 WebRTC介绍

  • 凯福德金业(香港)荣获“最佳贵金属交易平台”大奖

    凯福德金业(香港)荣获“最佳贵金属交易平台”大奖凯福德金业(香港)荣获“最佳贵金属交易平台”大奖 “2013年度第二届资本力量百强榜评选”中,凯福德金业凭借其在推动贵金属行业发展中作出的努力与贡献,成功入选“2013资本力量百强”并被授予“最佳贵金属交易平台”大奖。2014年2月,证券之星2013年第二届“资本力量百强榜颁布盛典”在上海如期举行。此次评选由中国著名财经资讯网站证券之星主办,联合复旦大学管理学院、证监会、上市公司联合会、逾

  • Java后端学习路线图,你真的只需要这一张!

    Java后端学习路线图,你真的只需要这一张!原文链接前言学习路线图往往是学习一样技术的入门指南。网上搜到的Java学习路线图也是一抓一大把。今天我只选一张图,仅此一图,足以包罗Java后端技术的知识点。所谓不求最好,但求最全,学习Java后端的同学完全可以参考这张图进行学习路线安排。当然,有一些知识点是可选的,并不是说上面有的你都要会啦。我在复习秋招的过程中就是基于此图进行复习的,感觉效果还是不错的。闲言少叙,我们还…

  • 域渗透之 pre-auth用户枚举

    域渗透之pre-auth用户枚举适用场景与优点适用于在域外对域用户进行用户枚举和爆破使用Kerberospre-authbruteforcing的速度快,并且不会产生日志。适用场景:在

    2021年12月13日

发表回复

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

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