CICD介绍

CICD流程

CICD的中文名为持续集成/持续部署。其流程如下图:

img

CICD的意义

减少重复过程

减少重复的过程可以节省时间、费用和工作量。重复劳动可能包括代码编译、数据库集成、测试、审查、部署及反馈。通过自动化的持续集成可以将这些重复的动作都变成自动化的,无需太多人工干预,让人们的时间更多的投入到动脑筋的、更高价值的事情上。

减少多人协作开发的冲突

当分支代码保持在取出状态时间越长,分支代码开发者进行主线重新集成时,就愈容易遭遇集成多重冲突的风险以及失败。当开发者将代码提交到代码库时,首先必须更新代码以反映别人在代码库中的更改。代码库包含的更改越多,开发人员在提交自己的更改前必须运行的工作越多。如果不经常进行集成,代码库将变的非常不同于开发者本地的代码,这时进入被称为合并地狱或集成地狱的阶段,开发者所花费的集成时间,将超过最初代码开发的时间。

任何时间、任何地点都可以生成可部署的软件

持续集成可以让您在任何时间发布可以部署的软件。从外界来看,这是持续集成最明显的好处,我们可以对改进软件品质和减少风险说起来滔滔不绝,但对于客户来说,可以部署的软件产品是最实际的资产。利用持续集成,您可以经常对源代码进行一些小改动,并将这些改动和其他的代码进行集成。如果出现问题,项目成员马上就会被通知到,问题会第一时间被修复。不采用持续集成的情况下,这些问题有可能到交付前的集成测试的时候才发现,有可能会导致延迟发布产品,而在急于修复这些缺陷的时候又有可能引入新的缺陷,最终可能导致项目失败。

这一点深有感悟,因为在实验室写代码,老师会经常问这个东西可以用了吗,可以用其实就是一个产品的概念。做好持续集成和持续部署,你可以随时和老师说这个东西可以用!

开发一个Python包的CICD

持续集成,意味着每写一段代码都能通过测试,同时不影响其它模块正常运行(先前的测试依然要通过)。每个函数或类都要有其对应的测试代码。

持续部署,意味着将持续集成的代码构建成包上传到PYPI。

参考

------ 本文结束------
赞赏此文?求鼓励,求支持!
0%