持续集成成熟度模型

参考原文: http://my.oschina.net/u/134516/blog/495477

成熟度模型的级别

  1. Base: 在Base这个级别,我们刚刚跟“模型”沾边,我们的团队不再是所有的流程都要手动去操作。
  2. Beginner: 团队开始认真采用一些企业持续交付的实践,但是还是在刚起步的水平
  3. Intermediate: 实践已经多少成熟一些,会发布更少的错误,并且更加高效。 对于大多数团队来说,这个基本的实践可能已经足够了
  4. Advanced:团队所做的已经远远超出同行业其他团队,而且效率非常高,能够预防错误的发生。
  5. Extreme: 要达到这个级别里的要求,其代价是非常昂贵的,但对某些团队来说,这是他们的目标。换句话说,大多数组织认为除非疯了才会实现到这个级别,然而另一少部分则认为不实现到这个级别才是疯了呢。

构建,部署,测试和报告

这几个主题覆盖了端到端的构建生命周期的基本要素,从源代码到生成环境的软件的过程。

构建

已开发人员为中心的持续集成,其关键在于构建软件的快速反馈。在企业开发中,构建管理和可控的构建流程是非常关键的因素。一个可控的构建流程规范了获取源代码,编译,打包以及存储等一系列步骤。

大多数工程开始的时候是在开发的机器上去进行构建,并没有一个规范的流程。这个开发用IDE来构建,而另一个则用构建脚本。一些极不成熟的团队会用这些构建结果来测试甚至发布到生产环境。这样缺少控制导致的结果在很多团队迅速显现,他们开始寻找更好的选择。

我们的目标应该是:基于提交的构建,有依赖仓库,安全的配置。

部署

发布是将软件挪到一个可测试,用户可以访问,或者准备发送给客户的地方。对于Web应用来说,这可能意味着将应用安装在一系列web服务器上,同事更新数据库或者静态存储服务器。对于视频游戏控制端,一次部署应该是将游戏安装到测试机器上,而生产环境的部署还可能涉及到“stamping a gold ISO to deliver to the publisher”(不太懂游戏的发布无法正确翻译出来...)

部署一开始大多数是手动的流程。将构建的地址发送给部署工程师,然后部署工程师将构建结果挪到目标机器,通过执行安装程序完成部署。这样将导致部署过程慢并且部署失败率高。工程师常常被迫在晚上和周末在生产系统和测试系统执行有风险的部署,这个过程中,系统是不能别其他人用的,然而很可能就有测试正在使用该系统。更糟糕的是,不同环境的部署可能有不同的流程,这样很难保证在一个环境的成功部署可以在下一个环境中同样成功。

部署自动化的目标:Test Gated Automation Promotions,Database Deployments,Coordinated SOA/multi-tier deploys.

测试

持续集成和交付长时间来已经某种程度上和自动化测试联系在一起。这个在Martin Fowler的开创性文章和Steve McConnell对每日构建和冒烟测试的早期实践描述中被证实。事实上,这主要是我们想在执行常规构建和部署的时候能够很快提供质量问题的反馈。企业持续交付的范围内,多种类型的自动化测试和手工测试都被考虑到了。

讽刺的是,很多擅长构建和部署的团队,在测试上却很弱。他们执行构建,使其通过一些基本的手动测试,然后就发布出去。应用的某些部分经常被破坏,而新的功能也没能被充分测试。随着团队在测试领域的逐渐成熟,他们可以很快返现问题,提高了生产力和信心。

测试自动化目标:Some Static Analysis(静态分析),Automated Functional Tests run nightly(每晚执行自动化功能测试)

报告

从历史上看,持续集成工具主要关注于报告最近构建的状态。更广泛的观点上来看,报告是企业持续交付的关键因素。企业持续交付的报告涵盖了软件质量和内容信息以及企业持续发布流程的相关指标。

没有报告的团队是盲目的前进。如果没有人能审查结果,那么所有的测试都是无用的。同样,没有被提炼成易理解信息的堆积数据也是没有用的。成熟的团队的报告会越来越可视化,会暴露出越来越多的有用信息。

报告成熟度的目标:Report Trending(报告趋势)

时间: 2024-11-05 19:27:01

持续集成成熟度模型的相关文章

基于Jenkins打造符合DevOps能力成熟度三级标准的持续集成流水线

DevOps的核心是自动化,自动化的核心是标准化.而DevOps最重要的一环节是持续交付,持续交付中建设的重点是流水线,所以如何打造标准的持续交付流水线则为DevOps建设中最重要的一环,也是评估DevOps能力的一个重要的打分点.本文内容参照<研发运营一体化(DevOps)能力成熟度模型 第3部分:持续交付>,基于jenkins,对持续集成流水线建设的一些关键点进行技术应答,带领大家把方法论落地到具体的技术点上. 文中涉及到的几个名词解释:1,流水线:pipeline,一个应用程序从构建.部

CMM:软件成熟度模型

周末在家闲来无事,泡咖啡看书,正好看到了关于CMM的相关资料,分享出来,也当做学习笔记... 一.CMM简介 CMM,英文全称为Capability Maturity Model for Software,即:软件成熟度模型. CMM的核心是把软件开发视为一个过程.它是对于软件在定义.实施.度量.控制和改善其软件过程的实践中各个发展阶段的描述. 根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化.标准化,使企业能够更好地实现商业目标. 分级:一级为初始级,二级为可重复级,三级为已定

Cap24_项目管理成熟度模型

24 项目管理成熟度模型 24.1 项目管理成熟度模型概述 项目管理成熟度表达了一个组织具有的按照预定目标和条件成功地.可靠地实施项目的能力. Kerzner模型的5个梯级 通用术语->基本知识 通用过程->过程定义 单一方法->过程控制 基准比较->过程改进 持续改进 24.2 OPM3 24.2.1 组织级项目管理成熟度模型OPM3概述 OPM3的目的 组织级项目管理OPM:知识.组织战略.人.过程 OPM3是什么 项目组合管理.项目集管理.项目管理和组织级项目管理的关系 组织

你的BI应用处于什么阶段?解读Gartner BI成熟度模型

文 | 帆软数据应用研究院 水手哥   无论国内还是国外,多数企业的BI和分析平台建设之路并不平坦:一是对自身的环境和需求认识不足,未能打蛇打七寸,导致成效产出不高:二是眼光只放在当前,未能考虑以后的变数,导致BI建设不能有序延展响应需求:三是经验和水平不足,难以驾驭BI建设路线图,导致走了不少弯路甚至回头路. 对此Gartner推出了BI成熟度模型,帮助企业应用"ITScore for BI and Analytics"进行成熟度评估,明确自己当前的特征,所处阶段,以及采取哪些步骤才

Richardson成熟度模型(Richardson Maturity Model) - 通往真正REST的步骤

Richardson成熟度模型(Richardson Maturity Model) - 通往真正REST的步骤 原文地址: Richardson Maturity Model - steps toward the glory of REST 最近我在阅读Rest In Practice的草稿,这本书由我的一些同事撰写.他们希望通过这本书解释如何利用Restful Web Service来解决企业面临的很多集成上的问题.该书的核心观点是目前的Web就是一个大规模分布式系统能够很好地工作的证据,而

持续迭代与持续集成

天有其时,地有其材,人有其治,夫是之谓能参.-<询子> 读中国古代哲学,首先感受到的是它的整体思维. 例如天地人一体观,讲究在看待任何事物时,都要把它们放置于天.地.人三大要素构成的宇宙框架中去分析.衡量,以寻找他们的本质和规律,预测它们的未来变化. 基于中国古代哲学的中医也是如此,认为为医之道,应该上知天文,下知地理,中知人事,综合考虑自然环境.社会环境.个人气质,把人体地生理.病理变化放在天.地.人三大要素构成的宇宙框架中去分析和权衡,以寻找其本质和规律,预测其发展变化. 说到整体思维,我

为什么要做持续集成

持续集成在目前大多数的公司里都会有这样或者那样的使用.有的会选择一些Open Source的工具,如CruiseControl,Hudson,LuntBuild等等等等,有的会购买有更好服务,更强功能的商业产品,如TeamCity,QuickBuild等等,而有的会选择自己实现,如Cron+Ant/Maven/Make等等.那么使用下来效果如何呢?真得达到了预期的效果吗?我想来恐怕未必吧,否则也就不会有这么多的讨论了.[@[email protected]] 持续集成与敏捷编程 在敏捷领域中,测

能力成熟度模型(CMM)

能力等级 特点 关键过程 第一级 基本级 软件过程是混乱无序的,对过程几乎没有定义,成功依靠的是个人的才能和经验,管理方式属于反应式   第二级 重复级 建立了基本的项目管理来跟踪进度.费用和功能特征,制定了必要的项目管理,能够利用以前类似的项目应用取得成功 需求管理,项目计划,项目跟踪和监控,软件子合同管理,软件配置管理,软件质量保障 第三级 确定级 已经将软件管理和过程文档化,标准化,同时综合成该组织的标准软件过程,所有的软件开发都使用该标准软件过程 组织过程定义,组织过程焦点,培训大纲,软

工业互联网联盟发布新物联网安全成熟度模型

工业互联网联盟(IIC)基于其自身的安全框架和参考架构开发了一种新型物联网安全成熟度模型(SMM),有助于企业利用现有的安全框架达到他们自己定义的物联网安全成熟度目标级别.本周 IIC 发布了两篇报告中的第一篇 - <物联网安全成熟度模型:描述和预期用途>,该篇主要是针对较少技术的物联网利益相关者的高级概述.微软物联网标准首席策略师 Ron Zahavi 预计第二篇为安全从业人员提供更多技术观点的白皮书将会在夏季发布. 根据 Ron Zahavi 的说法,<物联网安全成熟度模型:描述和预