DevOps的概念:
DevOps的起源可以追溯到2008年,它是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合;是一系列软件开发和软件运维活动的实践。DevOps的出现是为了缩短软件开发生命周期并能够持续交付,由此可见,DevOps的发展与敏捷软件的开发是密不可分的。
CI与CD的概念
传统应用发布模式:
开发人员:在开发环境完成代码编写,单元测试,测试通过后提交到代码仓库
运维人员:把项目部署到测试环境,供QA团队测试,测试通过后,部署生成环境
测试人员:进行测试,测试完成后通知运维部署生产环境
缺点
- 项目在早期就存在错误,但到最后集成的时候才发现
- 需要手动操作,易错率高
- 开发与运维需要及时沟通 有了以上缺点,那么就有了CI/CD
CI/CD
持续集成(CI):
- 合并开发人员正在编写的所有代码
- 一天内进行多次合并和提交代码
- 从生产环境中进行构建和自动化测试,确保没有集成问题并及早发现任何问题
持续交付(CD):
- 可以通过将更改自动推送到发布系统来随时将软件发布到生产环境中
- 持续部署,并自动将更改推送到生产中
DevOps的浅应用:
开发工具及环境
1、JDK11:java运行环境
2、jenkins:自动构建工具
3、harbor:镜像仓库
4、docker+docker-compose:镜像编排管理工具
5、gitlab:代码仓库
总结:
DevOps是一种抽象思想,CI/CD是流程实现的工具及方法