CICD概述
持续集成
传统软件开发流程:
- 项目经理给你们分配模块开发任务给开发人员(项目经理-开发)
- 每个模块单独开发完毕(开发),单元测试(测试)
- 开发完毕后,集成部署到服务器(测试、运维)
- 测试出现问题,提交 bug,开发继续修复 bug(开发)
- bug 修改完毕,继续提交测试...
问题:
- 模块之间依赖负载,集成部署经常出问题
- 测试人员经常在等待...
- 按时交付也会出问题
思考:
- 测试时间能否提前(开发一提交代码,问题就能直接暴露出来:自动化测试)
- 人工集成部署 ( 能否使用自动化工具构建 )
持续集成:简称 CI
思想:每天要多次将代码合并到主干,并进行集成,测试,这样就可以提早发现错误,进行修正。持续集成也属于 DevOps。
持续集成的好处:
- 自动化集成部署,提高了集成效率。
- 更快的修复问题。
- 更快的进行交付。
- 提高了产品质量。
持续集成流程:
什么是DevOps
DevOps 是一种思想或方法论,它涵盖开发、测试、运维的整个过程!
DevOps 强调软件开发人员与软件测试、软件运维、质量保障(QA)部门之间有效的沟通与协作。
强调通过自动化的方法管理软件变更,软件集成。
使软件从构建到测试、发布更加快捷、可靠,最终按时交付软件。
公司项目开发大概的流程,看看是如何一步一步操作的:
为什么当今大公司一定要使用DevOps
DevOps 这种软件开发方法,涉及到软件整个开发生命周期,这些活动只能在 DevOps 中实现,而不是敏捷或瀑布流。
DevOps 是在较短的开发周期内开发高质量软件的首选方法,同时可以提高客户满意度。
这就是为什么顶级互联网公司选择 DevOps 作为其业务目标的前进方向。
如果你是一名开发工程师:学习 DevOps,让你成为更加优秀的IT工程师
如果你是一名运维工程师:应用 DevOps 必将,简化你的工作流程,提高你的工作效率
如果你是一名架构师:DevOps 是你在实践中必须拥有的技术能力
如果你是一个跳槽者:了解 DevOps 必将有助于你找到高薪工作
如何落地实现DevOps这种理念
DevOps 兴起于2009 年,近年来由于云计算、互联网的发展,促进了DevOps的基础设施及工具链的发展,涌现了一大批优秀的工具,这些工具包括开发,测试,运维的各个领域,例如:GitHub,Git/svn,Docker、Jenkins、HudSon、Ant/Maven/Gradle、QUnit、JMeter等,看下图:
东西太多,不可能全部学完,按需学习即可,基本上学会一个,在学习其它的也会非常轻松加愉快
测试、部署的逻辑只需要写一遍,就可以自动运行了。