前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何理解cicd

如何理解cicd

作者头像
全栈程序员站长
发布2022-08-24 09:19:31
4810
发布2022-08-24 09:19:31
举报
文章被收录于专栏:全栈程序员必看

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

说明

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不断受到重视,频繁部署、快速交付以及开发测试流程自动化都将成为未来软件开发的重要组成部分。

文章引用

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
  • 1、持续集成(Continuous Integration)
  • 2、持续交付(Continuous Delivery)
  • 3、持续部署(Continuous Deployment)
  • 4.补充说明
  • 文章引用
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档