第1章 DevOps
1.1 什么是DevOps:
DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
#备注:技术运营对应 国内 运维。 质量保障 对应 国内 测试。
1.2 DevOps 概念
是一种文化、让开发、运维、测试之间沟通的文化,过程、方法、系统的统称。
1.3 目标:
为了让我们的软件、构建、测试、发布更加的敏捷、频繁、可靠。(偏持续集成)
#备注:运维掌控大局、DevOps 没有能力是不行的。测试工具、方法、监控(测试:反向代理、web服务器、数据库、安全。)开发 测试 运维 安全 业务-软件架构师 产品 项目 技术总监_技术合伙人
1.4 持续集成、持续交付、持续部署简介
我相信你一定听过持续集成、持续交付、持续部署这些名词。
持续集成Continuous Integration
持续交付Continuous Delivery
持续部署Continuous Deployment
持续集成
持续集成是指在软件开发过程中,频繁地将代码集成到主干上,然后进行自动化测试。
持续交付
持续交付是指在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。
持续部署
在持续交付的基础上,把部署到生产环境的过程自动化。如果你对比上图持续部署就可以发现持续部署和持续交付的区别就是最终部署到生产环境是自动化的。