DevOps与持续集成、持续交付
DevOps的应用场景往往是一个庞大复杂的背景和流程的场景,大都包含一个持续交付流水线。
开发人员:IDE、Git等开发和编译工具
版本控制系统:分支策略、语义化版本
构建服务器:持续集成、代码质量检查
工件库:存放二进制包
系统的包管理器:编译或测试环境系统上管理二进制包
环境一致性
预发布或生产:预发布环境与生产环境互换(蓝绿发布)
发布管理:在高程度自动化测试的基础上实践自动化或半自动化(人工介入)部署
问题管理系统
因此,DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。
DevOps的技术要点由“持续集成/部署“”一线贯穿,主干开发是进行持续集成的前提,自动化以及代码周边集中管理是实施持续集成的必要条件。
换而言之,DevOps 是持续集成思想的延伸,持续集成/部署是 DevOps 的技术核心,在没有自动化测试、持续集成/部署之下,DevOps就是空中楼阁。
一个完整的过程
开发团队接到任务,需要完成一个变更
为了更加顺利地开发,将这个变更分拆为几个小变更
开发人员在本地开发并且测试,如果使用了测试驱动开发,在编写功能代码之前会先编写测试,然后编写能够让测试通过的实际代码
开发人员将代码提交到企业内部的Git版本控制系统上
构建服务器获取这个变更并初始化构建流程,单元测试之后,变更可以被发布到二进制库里
配置管理系统根据“策略”,在测试环境中安装应用了新的变更
新安装触发自动化回归测试,测试成功后,质量保证团队开始做人工测试
人工测试通过后,质量保证团队将“已通过”标识给予这个变革
变更在预发布环境中进行验收测试
验收测试完成后,预发布环境被切换成生产环境,而生产环境变为新的预发布环境
- 点赞
- 收藏
- 关注作者
评论(0)