美文网首页CI/CD
持续集成CI、持续交互CD、持续部署

持续集成CI、持续交互CD、持续部署

作者: 宇晨棒棒的 | 来源:发表于2019-10-15 16:00 被阅读0次

根据持续集成的设计,代码从提交到生产,整个流程:

提交--->本地测试---->构建(jenkins)---->测试----->部署---->代码回滚

1.持续集成

1)概念

在传统的软件开发中,集成过程通常在每个人完成工作后的项目结束时进行。整合通常需要数周或数月的时间,可能会非常痛苦.

持续集成是一种将集成阶段置于开发周期中较早的做法,软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误。

2)目的

让产品可以快速迭代,同时还能保持高质量。

它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。

3)好处

快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易

防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

选择持续集成系统只是持续集成应用的其中一步,还需要建立合适的持续集成文化比如代码质量管控、测试文化等。做好持续集成,可为持续交付与持续部署打好坚实基础。

2.持续交互:

1)概念

持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」.

给测试团队以供评审。如果评审通过,代码就进入生产阶段。

2)目的

持续交付用来确保让代码能够快速、安全的部署到产品环境中,它通过将每一次改动都提交到一个模拟产品环境中,使用严格的自动化测试,确保业务应用和服务能符合预期

3)好处

快速发布。能够应对业务需求,并更快地实现软件价值。

编码->测试->上线->交付的频繁迭代周期缩短,同时获得迅速反馈;

高质量的软件发布标准。整个交付过程标准化、可重复、可靠

整个交付过程进度可视化,方便团队人员了解项目成熟度;

更先进的团队协作方式。从需求分析、产品的用户体验到交互 设计、开发、测试、运维等角色密切协作,相比于传统的瀑布式软件团队,更少浪费

3.持续部署

1)概念

持续部署是持续集成的下一步或者说更高阶段,指的是代码通过评审以后(或者是通过自动化测试以后),自动部署到生产环境。

持续部署是持续交付的最高阶段。这意味着,所有通过了一系列的自动化测试的改动都将自动部署到生产环境。

2)目的

代码在任何时刻都是可部署的,可以进入生产阶段

关于持续集成,持续交付还有持续部署比必成装修厨房:

持续集成: 

装修厨房时我们需要铺地砖,如果把所有的地砖都切好再拿去铺就会发现:每一块地砖单独都是好的,但是实际铺地砖的时候,把所有地砖整合在一起,发现和厨房总体尺寸不匹配。边边角角的地砖需要重新切除,时间和物料成本增加。

持续集成就是要根据需要的吃粉莱切,今早发现尺寸变化,避免返工。

持续交付:

全部装修号之后房屋主任来眼周,各专功能都正常,但是水龙头的样式主任不喜欢,灶台的位置不满意,要求返工。

持续交付就是房屋主人随时查看进度,施工团队即时调整。

持续部署:

全部装好后发现灯不良,电路出现问题;冷热水装反了,管道有问题。这些问题要解决必须把地砖和墙砖拆掉----一个环节有问题,其他环节跟着返工.

持续部署要做的就是:任何安装完成即时测试,保证其正常工作

相关文章

网友评论

    本文标题:持续集成CI、持续交互CD、持续部署

    本文链接:https://www.haomeiwen.com/subject/eassmctx.html