1.CICD背景;ide
1) 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减小重复过程以节省时间、费用和工做量;测试
2) 持续集成保障了每一个时间点上团队成员提交的代码是能成功集成的。换言之,任什么时候间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能;编码
3) 持续集成还能利于软件自己的发展趋势,这点在需求不明确或是频繁性变动的情景中尤为重要,持续集成的质量能帮助团队进行有效决策,同时创建团队对开发产品的信心。spa
一套标准流程,能够将开发工做流程分为如下几个阶段:orm
编码 → 构建 → 集成 → 测试 → 交付 → 部署blog
2.持续集成(Continuous integration,简称CI);生命周期
频繁地(一天屡次或者N次)将代码集成到主干。将软件我的研发的部分向软件总体部分交付,频繁进行集成以便更快地发现其中的错误。开发
3.持续交付(Continuous delivery)部署
指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。若是评审经过,代码就进入生产阶段。开源软件
持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。持续交付优先于整个产品生命周期的软件部署,创建在高水平自动化持续集成之上。
4.持续部署(continuous deployment,简称CD)
是持续交付的下一步,指的是代码经过评审之后,自动部署到生产环境。持续部署的目标是,代码在任什么时候刻都是可部署的,能够进入生产阶段。持续部署的前提是能自动化完成测试、构建、部署等步骤。
5.CICD总结
持续集成、持续交付、持续部署提供了一个优秀的 DevOps 环境。对于整个开发团队来讲,能很大地提高开发效率,好处与挑战并行。不管如何,频繁部署、快速交付以及开发测试流程自动化都将成为将来软件工程的重要组成部分。
6.CICD主流方案;