|NO.Z.00021|——————————|^^ 重要 ^^|——|CI/CD&Maven私服Nexus3.V02|——|持续集成/持续交付/持续部署|
一、持续集成/持续交付/持续部署
### --- 持续集成/持续交付/持续部署
~~~ 软件开发的连续方法基于自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性。
~~~ 从新代码的开发到部署,它们需要较少的人为干预甚至根本不需要干预。
~~~ 它涉及在每次小迭代中不断构建,测试和部署代码更改,
~~~ 从而减少基于有缺陷或失败的先前版本开发新代码的机会。
~~~ # 有三种主要方法,
~~~ 分别为持续集成、持续交付、持续部署,每种方法都根据最适合您的策略进行应用。
持续集成/持续交付/持续部署流程

二、持续集成:持续集成逻辑图

### --- 持续集成概述
~~~ 代码合并,构建,部署,测试都在一起,不断地执行这个过程,并对结果反馈**。
~~~ 持续集成(英语:Continuous integration,缩写为 **CI**),一种软件工程流程,将所有工程师对于软件的工作复本,每天集成数次到共用主线(mainline)上。
~~~ 这个名称最早由葛来迪·布区(Grady Booch)在他的布区方法中提出,但是他并没有提到要每天集成数次。之后成为极限编程(extreme programming,缩写为XP)的一部分。在测试驱动开发(TDD)的作法中,通常还会搭配自动单元测试。
~~~ 持续集成的提出,主要是为了解决软件进行系统集成时面临的各项问题,极限编程称这些问题为集成地狱(integration hell)。
~~~ 持续集成主要是强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。简单来讲就是:频繁地(一天多次)将代码集成到主干。
### --- 持续集成目的
~~~ 及早发现集成错误且由于修订的内容较小所以易于追踪,这可以节省项目的时间与成本。
~~~ 避免发布日期的前一分钟发生混乱,当每个人都会尝试为他们所造成的那一点点不兼容的版本做检查。
~~~ 当单元测试失或发生错误,若开发人员需要在不除错的情况下还原代码库到一个没有问题的状态,只需要放弃一小部分的更改 (因为集成的次数频繁)。
~~~ 让 "最新" 的程序可保持可用的状态供测试、展示或发布用。
~~~ 频繁的提交代码会促使开发人员创建模块化,低复杂性的代码。
~~~ 防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。
三、持续交付:持续交付逻辑图

### --- 持续交付概述
~~~ 部署到测试环境、预生产环境
~~~ 持续交付(英语:Continuous delivery,缩写为 **CD**),是一种软件工程手法,让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定、持续的保持在随时可以释出的状况。
~~~ 它的目标在于让软件的建置、测试与释出变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。
~~~ 持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。
四、持续部署:持续部署逻辑图

### --- 持续部署概述
~~~ 将最终产品发布到生成环境,给用户使用
~~~ 持续部署(英语:Continuous Deployment,缩写为 **CD**),是持续交付的下一步,
~~~ 指的是代码通过评审以后,自动部署到生产环境。
~~~ 有时候,持续部署也与持续交付混淆。
~~~ 持续部署意味着所有的变更都会被自动部署到生产环境中。
~~~ 持续交付意味着所有的变更都可以被部署到生产环境中,但是出于业务考虑,可以选择不部署。
~~~ 如果要实施持续部署,必须先实施持续交付。
~~~ 持续部署即在持续交付的基础上,把部署到生产环境的过程自动化。
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv015-jenkins2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)