1、持续集成CI

CI(Continuous Integration):指持续集成,它属于开发人员的自动化流程。

在持续集成环境中,开发人员将会频繁的提交代码到主干(重复上述集成的工作)。开发人员提交了新代码之后,立刻自动地进行构建,执行单元测试,因为这些新提交在最终合并到主线之前,都需要通过编译和自动化测试流进行验证。这样做是基于之前持续集成过程中很重视自动化测试验证结果,以保障所有的提交在合并主线之后的质量问题,对可能出现的一些问题进行预警。因此通过持续集成,开发人员只需要提交代码,就可以得到这次集成的结果,根据结果,可以确定新代码和原有代码能否正确地集成在一起。

持续集成是一种软件开发实践,团队开发成员经常提交代码到代码仓库,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成,且每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误,从而使问题尽早解决。持续集成是一个将集成提前至开发周期的早期阶段的实践方式,让构建、测试和集成代码更经常反复地发生。虽然持续集成无法消除bug,但却能大大降低修复bug的难度和时间。

2、持续交付CD

CD(Continuous Delivery):指的是持续交付和/或持续部署,这些相关概念有时会交叉使用。

持续交付是持续集成的延伸,将代码自动部署到预生产环境,确保以可持续的方式快速向客户发布新的更改。持续交付指的是应用发布出去的过程,这个过程可以确保尽可能快的实现交付。这就意味着除了自动化测试,还需要有自动化的发布流,以及通过一个按键就可以随时随地实现应用的部署上线。

通过持续交付,其软件交付流程进一步自动化,以便随时轻松地部署到生成环境中。CD 集中依赖于部署流水线,团队通过流水线自动化测试和部署过程。通过持续交付,可以决定每天,每周,每两周发布一次,这完全可以根据自己的业务进行设置。

3、持续部署CD

持续部署扩展了持续交付,以便软件构建,在通过所有测试时自动部署。

将在各个环境经过测试的应用自动化部署到生产环境,其实各个环境的发布过程都是一样的,应用发布到生产环境后,需要对应用进行健康检查、应用日志管理等。在这样的流程中,不需要人为决定何时及如何投入生产环境。CI/CD 系统的最后一步将在构建后的组件/包退出流水线时自动部署,此类自动部署可以配置为快速向客户分发组件、功能模块或修复补丁,并准确说明当前提供的内容。

4、CI/CD的开发流程

开发流程:编码 -> 构建 -> 集成 -> 测试 -> 交付 -> 部署

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐