最近一直再用微软的Azure DevOps,CI和CD、DevOps的概念一直在浮现,但一直不能彻底理解是什么意思,于是就翻阅各大论坛资料进行查询 ,但繁杂的概念让我更加的迷茫。在偶尔间看到了b站狂神的一个视频,进行了一个实例讲解,让我恍然大悟。虽然还有许多细节没有讲到,但是让我对整个流程有了把控,对日后的学习有了方向。现将笔记记录下来方便查阅。
一个产品的诞生大概要不断经历以下流程
DevOps兴起于2009年,近年来由于云计算、互联网的发展,促进了DevOps的基础设施及工具链的发展,涌现了一大批优秀的工具,这些工具包括开发、测试、运维的各个领域,例如:Github,Git/svn、Docker、Jekins、HudSon、Ant/Maven/Gradle,QUint/JMeterd等,看下图:
传统上在软件开发中(无论是瀑布模型还是敏捷开发,敏捷也比较传统),都由“开发团队”来构建软件。
开发团队需要与运维团队进行了大规模的"交接"。运维团队负责执行一系列“部署活动”,将软件代码移至生产环境,并负责维护后续的系统稳定运行。生产环境的基础设施与开发或测试不同。需要有额外的检查和平衡,以确保它一切功能正常。部署是由不同的人完成的,运维团队之前从未见过或听说过任何此类软件。
DevOps这种软件开发方法,涉及到软件整个开发生命周期,这些活动只能在DevOps中实现,而不是敏捷开发或瀑布流。
DevOps是在较短的开发周期内开发高质量软件的首选方法,同时可以提高客户满意度。