首页 > 其他分享 >什么是CI、CD?

什么是CI、CD?

时间:2023-11-09 18:01:28浏览次数:28  
标签:CI 版本 相同 流程 CD 交付 自动化 源代码 什么

概览

“持续”用于描述遵循我在此提到的许多不同流程实践。这并不意味着“一直在运行”,而是“随时可运行”。在软件开发领域,它还包括几个核心概念/最佳实践。这些是:

  • 频繁发布:持续实践背后的目标是能够频繁地交付高质量的软件。此处的交付频率是可变的,可由开发团队或公司定义。对于某些产品,一季度、一个月、一周或一天交付一次可能已经足够频繁了。对于另一些来说,一天可能需要多次交付也是可行的。所谓持续也有“偶尔、按需”的方面。最终目标是相同的:在可重复、可靠的过程中为最终用户提供高质量的软件更新。通常,这可以通过很少甚至无需用户的交互或掌握的知识来完成(想想设备更新)。
  • 自动化流程:实现此频率的关键是用自动化流程来处理软件生产中的方方面面。这包括构建、测试、分析、版本控制,以及在某些情况下的部署。
  • 可重复:如果我们使用的自动化流程在给定相同输入的情况下始终具有相同的行为,则这个过程应该是可重复的。也就是说,如果我们把某个历史版本的代码作为输入,我们应该得到对应相同的可交付产出。这也假设我们有相同版本的外部依赖项(即我们不创建该版本代码使用的其它交付物)。理想情况下,这也意味着可以对管道中的流程进行版本控制和重建(请参阅稍后的 DevOps 讨论)。
  • 快速迭代:“快速”在这里是个相对术语,但无论软件更新/发布的频率如何,预期的持续过程都会以高效的方式将源代码转换为交付物。自动化负责大部分工作,但自动化处理的过程可能仍然很慢。例如,对于每天需要多次发布候选版更新的产品来说,一轮集成测试integrated testing下来耗时就要大半天可能就太慢了。

持续集成(CI)是在源代码变更后自动检测、拉取、构建和(在大多数情况下)进行单元测试的过程。

持续交付(CD)通常是指整个流程链(管道),它自动监测源代码变更并通过构建、测试、打包和相关操作运行它们以生成可部署的版本,基本上没有任何人为干预。

标签:CI,版本,相同,流程,CD,交付,自动化,源代码,什么
From: https://blog.51cto.com/u_16271212/8285063

相关文章

  • 09_LCD1602调试工具
    LCD1602调试工具编写代码LCD1602.c#include<REGX52.H>//引脚配置:sbitLCD_RS=P2^6;sbitLCD_RW=P2^5;sbitLCD_EN=P2^7;#defineLCD_DataPortP0//函数定义:/***@briefLCD1602延时函数,12MHz调用可延时1ms*@param无*@retval无*/voidLCD_Delay(vo......
  • 聊城实用新型专利申请的流程是什么
    聊城实用新型专利申请的流程是什么恒标知产刘经理申请实用新型专利的流程包括以下几个步骤:首先需进行实用性检索,确定专利主题是否已被他人申请或授权;然后撰写专利申请书并提交相关材料;接着进行初审和复审,并可能需要进行答辩;最后,专利被授权后,需要缴纳年费来维持专利权利。实用新型专......
  • Cisco Packet Tracer and Wireshark
    协议时序图一、客户端:58592;服务器:4431、Src:172.29.70.74,Dst:14.119.104.189客户端生成公、私钥,将公钥放在key_share中发送给服务端。标识符:Identification:0x6a2a(27178)TransmissionControlProtocol,SrcPort:58592,DstPort:443,Seq:1,Ack:1,Len:517......
  • btmon获取hci数据流程
    btmon获取hci数据流程背景最近在看蓝牙相关的驱动代码,追到hci接收数据处理函数hci_rx_work()(net/bluetooth/hci_core.c),瞄到下面一段代码:C...while((skb=skb_dequeue(&hdev->rx_q))){/*Sendcopytomonitor*/hci_send_to_monitor(hdev,skb);.........
  • 云图说|什么是可信智能计算服务TICS
    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。本文分享自华为云社区《【云图说】|第291期什么是可信智能计算服务TICS》,原文作者:阅识风云华为云......
  • 自建站外贸收款方式?海洋建站支持什么收款模式
    在开展外贸业务时,自建站点是一个常见的选择,但关于收款方式的选择一直是外贸企业关注的焦点之一。本文将探讨自建站外贸收款方式的重要性以及海洋建站支持的收款模式,以帮助您更好地管理国际交易的资金流动。1.选择适合您业务的外贸收款方式在自建外贸网站时,选择合适的外贸收款方式......
  • Flink CDC 同步 demo
    运行docker-compose.yml搭建数据库源,官方mysql样例数据源无法启动,改用其他mysql镜像version:'2.1'services:postgres:image:debezium/example-postgres:1.1ports:-"5432:5432"environment:-POSTGRES_PASSWORD=1234-POSTGR......
  • NeuroSketch中,为什么Query Instance不会落入多个叶子结点?
    参考文献[1]ZeighamiS,ShahabiC,SharanV.NeuroSketch:FastandApproximateEvaluationofRangeAggregateQuerieswithNeuralNetworks[J].ProceedingsoftheACMonManagementofData,2023,1(1):1-26.Query编码方式NeuroSketch支持的SQL语句格式如下:......
  • Dalvik虚拟机是在Linux内核上面运行的吗?为什么能执行安卓APK程序?
    Dalvik虚拟机确实是在Linux内核之上运行的。它是安卓系统的关键组件,专门设计来执行APK文件中的代码。这里是它的工作原理和一个生活中的例子:工作原理:基于Linux内核:安卓系统基于Linux内核,这为安卓设备提供了底层功能,如硬件抽象、网络通信、安全机制等。Dalvik虚拟机:在Linux......
  • 安卓系统执行APK程序为什么需要ART或者Dalvik虚拟,原理是什么
    安卓系统执行APK程序需要ART(AndroidRuntime)或者以前的Dalvik虚拟机,主要是因为安卓应用大多数是用Java语言编写的,而Java是一种需要虚拟机来执行的语言。下面我会分别解释虚拟机的原理和为什么需要它们,以及提供一个生活中的例子来帮助理解。 ###虚拟机的原理: 1......