`
nanjingjiangbiao_T
  • 浏览: 2599425 次
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

企业持续集成成熟度模型简介之二——部署

 
阅读更多
出差在外,没有及时更新Blog。继“构建”之后,今天再说一下企业持续集成成熟度模型的另一个维度“部署”。在正文之前,还想再强调一点,即“这个模型本身是是工具箱里的一件工具,并不一称个斤两的量器。”


部署


部署是指将软件移动到它被测试的地方,或用户指定的某个位置,准备送给客户。对于web应用来说,这可能意味着将软件安装到某个web服务器上,并更新数据库或静态内容服务器。而对于一个视频游戏来说,这个测试部署可能是指安装这个软件版本到某些测试机器上,而产品部署则可能是指烧录一个光盘并给发行商。

部署最开始一般都是手工过程。部署工程师从某处拿到部署文件,再把它放到目标机器上,然后开始正式的安装过程。然而,这种手工过程会比较慢,而且部署失败率也可能要高一些。工程师常常被迫在晚上或周末加班,进行测试环境或生产环境的部署,因为这些环境平时需要正常运行,不能轻易地停止。更糟糕的是:每个环境很可能使用了不同的步骤进行手工操作(比如步骤前后顺序颠倒,这尤其容易发生在不同的操作人员之间),几乎无法保证:在某个环境上的成功部署表明在下一个环境中部署成功的可能性也同样高。

对于团队来说,抛弃完全的手工过程,使用一些辅助脚本或全过程脚本化是一个非常巨大的进步。纵观整个行业,大多数团队都会有一些辅助性脚本,但有完全脚本化部署方式的团队较少,特别是在受控环境中(如试运行环境或生产环境)。因此,业内在这方面的平均水平应该是在入门级。

而中级团队善于进行测试环境上的自动化部署。他们完全通过脚本以一键部署的方式在部分或全部的测试环境中进行部署。这大大解放了部署工程师,而且减少了测试人员因等待部署而浪费的时间。就像持续构建是中级构建团队的的特征一样,自动地部署到第一个测试环境是在部署这一维度上中级成熟度的标志。根据团队的动态性,在不打断测试人员工作的情况下,这种测试环境的自动部署应该发生在任何一次成功的持续构建之后或一天内的周期性部署。中级团队的最后一个特征是:建立标准化的各种环境部署顺序。虽然可能还会有一些环境变数,或两种部署方式,但在某个版本的全生命周期中(即从生产到部署上线),越早地成功部署,就意味着后续部署成功的可能性更大。达到这个级别是很多团队的目标。而进阶团队则把视线转到受控环境或生产环境上。部署到生产环境(或发布)只要按一下鼠标就行,生产环境发布就被自动触发,并有相应的发布版本可以进行灾难恢复。那些已经部署到内部测试环境的团队应该将目标定位到“进阶”:如果在所有环境中进行完全一致的部署过程,那么在生产环境部署时,会极大地减少最后一刻失败的可能性。进阶级团队的另一个特征是:将通过前面通过质量测试检验的版本全部自动地部署到部分或全部测试环境中。例如,得到测试经理的批准后,让某个构建版本自动地安装到压力测试环境中。

而疯狂级的团队的目标是“持续部署”,即自动部署到生产环境中而无需手工干预:得到一个版本后,自动部署到一系列的测试环境中。经过整个构建管道中的所有阶段,并且能通过所有的测试后,自动部署该版本到生产环境中。某些.com应用可以在一个小时之内就完成从源文件控制到发布的整个过程。显然,此时的自动化测试必须非常成熟,而且具有自动回滚和相应的监控手段。但是,在快节奏的竞争环境下,极其迅速地部署新功能也是一个核心竞争力,可以减轻大规模功能变更的风险。

分享到:
评论

相关推荐

    持续集成实践成熟度模型

    持续集成从“配置管理”、“构建”、“测试”、“部署及发布”及“团队习惯”5个纬度考察其成熟度,每个维度都有5个级别,分别是“入门”、“新手”、“中等”、“进阶”和“疯狂”。目前在各个维度上,行业的平均...

    企业持续集成成熟度模型简介

    本文是我在软件开发2.0大会上与大家探讨的内容。如前文所述,该模型起源于CITCON北美的一个讨论,并由Eric和JeffreyFredrick分析总结,并发布于这里。...由此表现出来的敏捷软件开发和持续集成与企业开发项目的现实之

    SOA服务集成成熟度模型1

    如何使用OSIMM通过评估组织的每一个维度的成熟度来开发基线和目标模型做出基线到目标的差距分析生成组织提高目标成熟度级别的转换项目路标维度:业务业务架构组织在业

    研发运营一体化DevOps能力成熟度模型评估(完整版).zip

    DevOps 能力成熟度模型评估 标准 DevOps能力成熟度模型- 总体架构 -敏捷开发管理 过程-持续交付 技术运营 应用设计 安全 风险管理 组织结构。 研发运营一体化是指在IT软件及相关服务的研发及交付过程中,将应用的...

    持续交付成熟度模型

    1. 持续集成(Continuous Integration) 2. 环境与部署(Environments and Deployments) 3. 可视化与可追踪性(Visibility and Traceability) 4. 测试(Testing) 5. 数据管理(Data Management) 6. 配置管理...

    神舟项目管理成熟度模型

    该模型是由面向企业级组织和项目级组织的两个相对独立的项目管理成熟度模型组成的集成模型,突破了 “项目管理成熟度即项目管理过程成熟度”的传统框架,从更广泛的领域评价项目管理成熟度;同时,关 注了企业级组织...

    持续交付成熟度模型V12中文版.pdf

    最开始的时候,记得是2009年,社区中有人总结了一个持续集成成熟度模型。然后,在这本书中提出了一个持续交付成熟度模型,被认为是1.0版。Jez根据近一年的实际应用,对其进行了一些修订,于是又有了1.2版。这个模型...

    CMMI软件能力成熟度模型集成模型

    软件能力成熟度模型集成模型,介绍软件开发流程,这是项目管理人员必需掌握和知道的知识

    企业持续集成成熟度模型ECIMM

    我们的持续集成和自动化实践成熟度如何?我们在哪里可以得到针对我们的具体问题和需求最需要改进的地方?其他组织如何解决这些一样的问题?这个指南将帮助你回答这些问题。敏捷软件开发和持续集成同目前企业的大规模...

    CMMI(能力成熟度模型集成)V2.0.docx

    CMMI的全称为Capability Maturity Model Integration,即能力成熟度模型集成。CMMI是CMM模型的最新版本。早期的CMMI(CMMI-SE/SW/IPPD),SEI在部分国家和地区开始推广和试用。随着应用的推广与模型本身的发展,演绎...

    软件能力成熟度模型集成(CMMI)培训教程.pdf

    软件能力成熟度模型集成(CMMI)培训教程.pdf

    研发运营一体化能力成熟度模型 第3部分:持续交付过程.pdf

    研发运营一体化是指在 IT 软件及相关服务的研发及交付过程中,将应用的需求、开发、测试、部署和运营统一起来,基于整个组织的协作和应用架构的优化,...本标准是“研发运营一体化能力成熟度模型”系列标准的第 3 部分

    配置与发布管理成熟度模型

     两年前,CITCON的几个参与者给出了一个持续集成成熟度模型,聚焦于“持续集成实践”,而在《持续交付》一书中,Jez与Farley也结合ThoughtWorks在这方面的实践经验,总结了“配置与发布管理成熟度模型”,并在多个...

    CMMI5软件过程管理成熟度模型5级全套模板及培训教材合集.zip

    CMMI5软件过程成熟度模型5级项目管理模板,整套CMMI5管理文档模板资源53套模板 CMMI精粹:集成化过程改进实用导论 CMMI培训PPT资料(1-8全集) 能力成熟度整合模型教程 软件工程文档全套模板等

    持续交付成熟度模型 V1.2

    《持续交付》一书中提供的持续交付成熟度模型是第一版。这是再次经过调整的改进版,更具有指导性和可操作性。

    论文研究-集成成本计算(ICC)模型——作业成本计算与经济增加值的集成研究.pdf

    论文研究-集成成本计算(ICC)模型——作业成本计算与经济增加值的集成研究.pdf, 作业成本计算 (ABC)提供相对准确的产品经营成本信息 ,经济增加值 (EVA)强调计量资本成本...

Global site tag (gtag.js) - Google Analytics