Cruise
Tony1130
乔梁,持续交付专家,敏捷&精益组织转型资深顾问,InfoQ特约编辑。IT行业从事应用开发、技术管理、项目管理、过程改进等工作多年,对于企业从CMMI到Lean/Agile的转型,业务分析,多有心得。
展开
-
Cruise入门-概念篇
Cruise终于在今天(2008年7月28日)正式发布了。上星期六在Beijing OpenParty上讲了一个关于持续集成的Session,主要内容是持续集成在软件开发生命周期中的作用,同时谈到一个软件从测试完成到正式上线还有多少工作要做。应在座同学的要求,谈了一些Cruise的新特性。还是言归正传吧。一、Pipeline(构建管道)众所周知,Cruise引入了Pipeline的概念,但它到底是原创 2008-07-28 20:42:00 · 5617 阅读 · 10 评论 -
持续集成的成熟度模型
在去年的AgileChina大会中,Jez Humble(Cruise的产品经理)提到了持续集成的成熟模型, 从低到高为: 1 自动化构建并持续编译(Automated build / continuous compilation)2 让单元测试自动化(Automated unit tests)3原创 2009-09-03 21:37:00 · 5169 阅读 · 2 评论 -
持续集成案例分析系列(2)——大规模项目团队持续集成实践之一二
前些日子写了关于小规模产品团队的持续集成实践,之后就一直就忙于项目,今天终于有时间完成这一篇关于大规模项目的持续集成相关问题了。 一、持续集成基础在典型的软件项目中,集成阶段一般都是在最后,因此也是出现问题最多,而且最有可能导致不能按时交付。而持续集成(XP十二实践之一)可以用来解决这个问题。既然大家都认为“频繁地使软件在某一代码基线构建并通过测试”是个不错的做法,那么原创 2009-09-07 18:22:00 · 2877 阅读 · 0 评论 -
Cruise一周发布一次——精益软件开发原则应用之快速交付
自从去年开始,Cruise团队就坚持一周至少更新自己使用的Cruise服务器一次,更新其它团队使用的Cruise服务器一次。四个月前,我们又建了一个Personal build CI server,而这个server的部署频率更高,只要每次提交到团队持续集成服务器上后单元测试通过,Cruise就会将其自动部署到这个Server上。效果非常不错,因为这个持续集成服务器是每个开发人员做pre-comm原创 2009-09-06 19:58:00 · 1901 阅读 · 0 评论 -
一键发布
<!--v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}--> Normal 0 fal翻译 2009-06-17 23:11:00 · 2992 阅读 · 0 评论 -
使用Cruise和Mercurial实现个人预提交,提高生产效率及整体自动化测试成功率
什么是个人预提交(Personal build)?Personal build简单来说,就是开发人员在代码提交之前,先要自己在本地运行一次构建和测试代码,保证本地没有测试失败后,再将其提交到中央代码仓库。Personal build的痛处在哪里?“提交代码之前,必须在本地运行并通过单元测试”是敏捷团队的原则之一。而随着新功能的增加,我们的单元测试越来越多,运行时间当然也就越来越原创 2009-05-24 15:38:00 · 2429 阅读 · 1 评论 -
走向“持续部署”
目前IT行业中,似乎“要不要做持续集成?”已经不再是讨论的焦点,取而代之的是“如何进行持续集成?”。在前一篇文章中,我介绍了Cruise团队持续集成的演进过程。在最后,还曾提及Cruise团队的持续部署。本文将结合团队的实际情况,与大家分享持续部署的实践心得。 “最后一哩”问题 持续集成解决了软件开发中的部分问题,但还有更为重要的一部分有待解决,即“通过什么样的方法,原创 2009-04-09 20:05:00 · 3251 阅读 · 0 评论 -
持续集成案例分析系列(1) -- 小规模产品团队的持续集成
农历年前,李剑(InfoQ中文站的敏捷社区主编,就是小刀)提议写一些在实际的敏捷软件开发项目中的使用的实践及范例,于是决定将个人的实际项目和咨询经历总结一下。既然现在一直在做“持续集成与发布管理”这一领域的事情,就不再花时间去想题目啦,仅以持续集成为题,将自己在咨询过程中遇到的项目及情况加以总结。 信手拈来的当然就是自己所在的项目“Cruise”了。于是《“持续集成”也需要重构——持续集成原创 2009-04-03 20:33:00 · 2234 阅读 · 0 评论 -
什么是Cruise?其工作方式是怎样的?——Cruise 101 (1)
Cruise是什么?为什么要构建Cruise?自Thoughtworks创建了CruiseControl(第一个开源持续集成服务器)近十年以来,我们的咨询师一直在帮助我们的客户进行持续集成的实践。经过十余年的积累,在构建及部署管理以及快速、高质量且低风险的交付与发布管理方面,我们积累并总结了很多理论原则与实践,而我们将这些理论原则与最佳实践溶为了一体,研发了Cruise(持续集成和发布管理原创 2009-03-14 11:10:00 · 3465 阅读 · 0 评论 -
如何在Cruise中显示自己定义的report (将EMMA的report显示在页面上)
Cruise提供将任何HTML文件作为一个子表单显示到Web页面上.我们每次在Build结束后就将EMMA的report放回到Cruise Server上,并将其作为WEB页面显示出来.如下图所示:在Cruise中的配置也很简单,如下如示:job> .... artifacts> artifact src="target/emma" dest="analysis" /> a原创 2008-12-08 11:21:00 · 1892 阅读 · 0 评论 -
拥抱Mercurial---选择分布式版本控制工具
Mercurial是一种开源的分布式版本控制工具,目前的最高版本是1.6.0.2。一、什么是分布式版本控制工具传 统的版本控制工具(如SVN,CVS,CleanCase等)因其将Code Repository的所有历史信息全部保存在同一台服务器上,而称为集中式版本控制工具。而在分布式版本控制系统(如Mercurial、GIT)中, Code Repository的历史信息的复本被保存在多台机器中,原创 2008-10-24 18:21:00 · 5047 阅读 · 1 评论 -
如何在Ubuntu7.10上安装GIT 1.6.0.2
今天花了很长时间才在Ubuntu7.10上安装好GIT 1.6.0.2。---最开始本不需要1.6,所以只用 sudo apt-get install git-core就把GIT1.5安装好。可以使用GIT://,SSH等方式。但后来需要HTTP的支持,1.5版本中不包含这个,所以开始漫长的升级之路。由于还没有哪个repository中有最新的1.6的package,所以只好用源文件来装了。1 在原创 2008-10-15 19:52:00 · 5897 阅读 · 7 评论 -
Cruise1.1 即将发布
自2008年7月28日Thoughtworks公司推出Cruise1.0以后,收到了良好的用户反馈,并得到了很多的建设性的意见和建议。根据这些反馈和建议,在Cruise团队的努力下,Cruise1.1即将在2008年10月中下旬发布。新增加的特性包括:一、增加对两种SCM的支持 分别是Perforce和GIT(一种分布式SCM)。二、基于角色的安全机制 可以定义角色列表。三、对Stage的原创 2008-09-28 08:46:00 · 2985 阅读 · 0 评论 -
Cruise的API简介--Properties篇
Cuise提供了一些Restful Url,方便用户来使用Cruise。目前这些Restful Url覆盖三个方面(一)关于Artifacts的操作 例如查看某个job有哪些Artifacts,以及通过API下载这些Artifacts,向某个已完成的Job上传某些文件。(二)关于Properties的操作 例如查看某个job有哪些属性,它们的值是什么,以及为某个job增加一个属原创 2008-09-05 21:24:00 · 2465 阅读 · 0 评论 -
“持续集成”之一二三
自动化测试是持续集成的前提毋庸置疑,自动化测试是持续集成的前提。如果您的项目还没有单元测试或功能测试代码,那么持续集成的意义就不那么重要了。只有随着项目的进行,不断增多的自动化测试,才能突显持续集成的重大意义。持续集成是代码健康状况的指示器或风向标。通过持续集成,可以尽早发现问题,提醒团队成员尽早修复问题,得到更健康的代码。持续集成有很多实践,通过实际项目的经历,总结三个基本实践:一、尽早开始持续原创 2008-08-31 20:24:00 · 2349 阅读 · 0 评论 -
Cruise入门——安装与数据备份
CSDN终于可以访问了。今天说说Cruise的安装与数据备份吧。你从这里注册一下,就可以下载Cruise,并会得到为期一个月的试用版License(最多6个Agents有效),一个月后,你可以申请有效期是一年的免费License(最多两个Agents有效)。Cruise可以安装在很多种操作系统上,而且Server和Agent可以安装在不同的操作系统上。Cruise官方提供了windows安装包(.原创 2008-08-18 21:44:00 · 16422 阅读 · 2 评论 -
Cruise入门——配置篇
概念篇已经介绍了Cruise中出现的新名词,今天就说一说Cruise的配置问题。由于Cruise几乎提供了所有平台的安装包,所以只要您了解各平台上安装软件的方法,您就可以轻而易举地完成Cruise的安装。现在,Cruise1.0的配置秉承开源项目CruiseControl的单一配置文件风格,但比CruiseControl要简单的多。而且在Cruise1.0中提供了简单的WEB界面编辑功能,尽管看上原创 2008-08-01 23:20:00 · 4199 阅读 · 3 评论 -
持续集成实践问题(一)提交前功能测试运行太慢
一个多月前,收到一封来信,咨询一个持续集成的问题。内容是这样的:“我们目前的项目,用Selenium Grid跑一遍完整的测试,用10台服务器分布式跑,已经需要超过1个小时,本地根本无法跑过。这样的话,让开发人员在本地run完所有的test再提交,已经不可能了。你们是否碰到过类似的情况?是如何解决的?”很多人可能都在团队中实践了敏捷方法或精益方法,尽管有些团队会感到一些收效,但是达原创 2009-09-04 21:34:00 · 1666 阅读 · 0 评论