您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > DevOps,让持续交付成为可能
乔梁@百度.项目管理部——持续交付的魅力–百度项目管理部•高级架构师–InfoQ•敏捷社区特约编辑•《持续集成》专栏作者–《持续交付》的译者中文站:Arealstory@BaiduDevopsandContinuousDeliveryContextacomplexsoftwareecosystemContext一个复杂的软件生态系统Context7Devs+2QAs+0.3OPc/c++legacycode(10yearsold)7+modulesfewautomationtestsforasinglemoduledeployto170+boxes6monthsago3个月的大版本发布紧急修复较多紧急需求PrayPrayPlaynow3周小版本发布紧急修复很少没有紧急需求Play6个月前多分支并行持续集成主干开发只在发布时拉分支trunkrelease1.1release1.26个月前手工测试内建质量功能验收测试单元测试集成测试系统测试非功能验收测试(容量、安全,……)演示易用性测试探索性测试业务导向的技术导向的支持开发过程的评判项目的内建质量自动化功能验收测试单元测试集成测试系统测试自动化非功能验收测试(容量、安全,……)自动/手工手工演示易用性测试探索性测试业务导向的技术导向的支持开发过程的评判项目的6个月前手工部署一切皆版本控制应用配置信息环境配置信息数据信息环境标准化单一部署脚本6个月前铁路警察共同的目标频繁、高效地沟通共担一些KPIWhatwegotnowDetailsCommitCommitCommitCommit....ABCGAcceptanceAcceptanceAcceptanceAcceptance....AcceptanceInterfacefunction模块级子系统级系统级performanceInterfacefunction试运行Ping发布performanceA子系统测试系统测试试运行生产环境BG自动手动每天每周三周自动化部署流水线可视化可跟踪易审计部署流水线(deploymentpipeline):是软件系统的构建、部署、测试和审批过程的自动化实现。Time1.每次提交代码的质量都达到生产环境可部署2.小步增量发布持续交付smallfeaturechunksLessonlearned软件的发布过程必须是可重复、可信赖的把几乎所有环节都做成自动化把所有内容都纳入版本控制让痛苦提前,并不断练习内建质量“完成”就意味着“已发布”所有人对交付负责持续改进,需要耐心Lessonlearned只构建一次二进制包在每个环境上都使用相同的方式部署对部署结果进行冒烟测试每种部署环境都应该尽可能相似任何地方出现失败,都要立刻停工devops?ValueStreamContinuousIntegrationAgileValueStreamContinuousIntegrationAgiledevopsdevops=culture+toolsCultureToolsautomation–environmentprovisioning•(Puppet,Chef,ControlTier,etc)–appdeployment&datamigration•(Capistrano,DBdeploy,etc)–logging&monitoring•(Splunk,Nagios,Munin,etc)Q&A@乔梁QL@gmail.com@baidu.com
本文标题:DevOps,让持续交付成为可能
链接地址:https://www.777doc.com/doc-6459022 .html