Jenkins教程之持续集成/交付/部署概述

Jenkins与CI&CD概述
互联⽹软件的开发和发布,已经形成了⼀套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称CI)持续交付(Continuous delivery),持续部署(continuous deployment)

一. 持续集成
持续集成指的是,频繁地(⼀天多次)将代码集成到主⼲.

它的好处主要有两个:

快速发现错误: 每完成⼀点更新,就集成到主⼲,可以快速发现错误,定位错误也⽐较容易;

防⽌分⽀⼤幅偏离主⼲: 如果不是经常集成,主⼲⼜在不断更新,会导致以后集成的难度变⼤,甚⾄难以集成.

Martin Fowler 说过,"持续集成并不能消除 Bug,⽽是让它们⾮常容易发现和改正."

持续集成强调开发⼈员提交了新代码之后,⽴刻进⾏构建、(单元)测试. 根据测试结果,我们可以确定新代码和原有代码能否正确地集成在⼀起.

二. 持续交付
持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者⽤户,以供评审. 如果评审通过,代码就进⼊⽣产阶段.

持续交付可以看作持续集成的下⼀步,它强调的是,不管代码怎么更新,软件是随时随地可以交付的.

持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运⾏环境的「类⽣产环境」(production-like environments)中. ⽐如我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试.如果代码没有问题,可以继续⼿动部署到⽣产环境中.

三. 持续部署
持续部署(continuous deployment)是持续交付的下⼀步,指的是代码通过评审以后,⾃
动部署到⽣产环境.

持续部署的⽬标是,代码在任何时刻都是可部署的,可以进⼊⽣产阶段.

持续部署的前提是能⾃动化完成测试、构建、部署等步骤.

————————————————
版权声明:本文为CSDN博主「一一哥Sun」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/syc000666/article/details/104020426

原文地址:https://www.cnblogs.com/cy0628/p/15144002.html