CI/CD与DevOps

什么是DevOps

DevOps是一种思想或方法论,它涵盖开发、测试、运维的整个过程

强调软件开发人员与软件测试、软件运维、质量保障(QA)部门之间有效的沟通与协作

强调通过自动化的方法管理软件变更、软件集成

使软件从构建到测试、发布更加快捷、可靠,最终按时交付软件
CI/CD与DevOps_第1张图片
公司项目开发大概的流程,看看是如何一步一步操作的:
CI/CD与DevOps_第2张图片
Product Backlog源自于Scrum方法,是指产品待办事项的集合,其中事务有优先级判断,先处理优先级高的事项

如何实现DevOps理念?

DevOps兴起于2009年,近年来由于云计算、互 联网的发展,促进了DevOps的基础设施及工具链的发展,涌现了一大批优秀的工具,这些工具包括开发,测试,运维的各个领域,例如: GitHub, Git/svn,Docker,Jenkins,HudSon,Ant/Maven/Gradle,QUnit,JMeter等,看下图:
CI/CD与DevOps_第3张图片

使用Jenkins(持续集成工具),项目提交后自动Ops

实践测试

CI/CD与DevOps_第4张图片

当今大公司一定要使用DevOps

CI/CD与DevOps_第5张图片
传统上在软件开发中(无论是瀑布模型还是敏捷方式,敏捷也比较传统),都由”开发团队”来构建软件
开发团队需要与运维团队进行了大规模的交接。运维团队负责执行一系列部署活动,将软件代码移至生产环境,负责维护后续的系统稳定运行。生产环境的基础设施与开发或测试不同。需要有额外检查和平衡,以确保它一切功能正常
DevOps这种软件开发方法,涉及到软件整个开发生命周期,这些活动只能在DevOps中实现,而不是敏捷或瀑布流
DevOps是在较短的开发周期内开发高质量软件的首选方法,同时可以提高客户满意度

CI/CD

持续集成(Continuous Integration ,CI)

它属于开发人员的自动化流程。成功的 CI 意味着应用代码的新更改会定期构建、测试并合并到共享存储库中。该解决方案可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题

持续交付(Continuous Delivery,CD)

是指开发人员对应用的更改会自动进行错误测试并上传到存储库(如GitHub或容器注册表),然后由运维团队将其部署到实时生产环境中。这旨在解决开发和运维团队之间可见性及沟通较差的问题。因此,持续交付的目的就是确保尽可能减少部署新代码时所需的工作量

持续部署(Continuous Deploy,CD)

指的是自动将开发人员的更改从存储库发布到生产环境,以供客户使用。它主要为了解决因手动流程降低应用交付速度,从而使运维团队超负荷的问题。持续部署以持续交付的优势为根基,实现了管道后续阶段的自动化

DevOps 与 CICD的区别及联系

DevOps是CICD思想的延伸,CICD是DevOps的基础核心,如果没有CICD自动化的工具和流程,DevOps是没有意义的

你可能感兴趣的:(ci/cd,devops)