持续集成,持续集成之"软件自我识别

在前文《自动化部署》中,我们讨论了自动化部署。通过对部署操作脚本化、部署验证自动化、部署环境版本控制、生产部署全自动化等诸多实践,可以让部署完全处于受控状态。然而,作为运维人员,是否曾经有人走过来问你这样的问题:“当前生产环境上部署的是哪个软件版本?”你是否遇到过这样的情形,即使手里拿着一个jar文件或dll文件,也无法知道它到底是哪个版本。也许你可能认为,这算不了什么,到... [阅读全文]

教育理论与实践,持续集成理论和实践的新进展

最近雷镇同学将Martin Fowler先生的著名论文《持续集成》第二版翻译成中文并发布出来,掀起了国内对于持续集成理论和实践讨论的新的高潮。笔者在本文中将全面对比持续集成论文前后两版的异同,分析并展示ThoughtWorks在持续集成领域的理论和实践方面的研究成果,以图对国内企业实施持续集成起到参考和借鉴作用。需要说明的是,本文所介绍的内容毕竟限于笔者的水平,并且主要是ThoughtWorks内... [阅读全文]

持续集成,持续集成_2_场景

上一篇说了一堆废话,现在正式进入持续集成概念的推广。 我们的目标是:通过持续集成,让所有软件项目的参与方都很容易,甚至是被迫的清楚当前项目的持续集成情况。 第一步,让所有人产生共鸣,下面描述几个场景,大家看看是否似曾相识: 场景1: 开发人员A更新代码,发现本地编译报错,开始询问同一开发组的成员。这时有些人继续埋头继续开发,有些人在编译自己本地的代码,发现没问题。 于是A只能自己查看出错地方的SV... [阅读全文]

持续集成,持续集成_1_引子

出于对产品质量、开发效率的考虑,公司要在日常的开发过程中引入持续集成。 持续集成这个概念其实很多人都应该很熟悉,或者接触过很久。其实公司以前也做了很多这方面的工作,但是一直存在着一些问题。 就是很多人对其抱着无所谓的态度,每天定时的将代码代码提交到trunk,让服务器去整一些事情,然后立马关电脑下班,出了问题明天再说。更有甚者,对其抱有抵触的情绪,觉得浪费了很多时间,不如好好多写几行代码,改几个b... [阅读全文]

持续集成,持续集成之"依赖管理

在前文《分支策略(续)》中,我们讨论了多组件应用程序的持续集成策略,即:为相对独立的组件创建自己专属的代码库,然后通过现代持续集成工具进行组件间的持续集成。Joe的团队在首次发布之后,开始使用这种方式。然而,没有多久,他们就遇到了一个问题:一次提交构建所花费的时间太长。 一天,Joe就早早地来到了办公室。因为他前一天下班前,他开发的用户故事还有一小点就完事儿了。他想利用早上这点儿时间把它搞完,交给... [阅读全文]

持续集成,持续集成之"分支策略 (续)

在前文中,咱们谈到生命周期长短不同的两种分支策略。对于不超过二十人的小团队来说,推荐使用短生命周期的分支策略。Joe的团队在首次发布之前,也一直使用这种方式。然而,首次发布之后,因市场反响非常好,公司决定加大开发投入,希望更快地推出升级平台,以及更多基于平台的游戏。 一、按特性分支的持续集成策略 现在,Joe的团队中,开发人员快速增加,已接近30人了。由于首次发布后的市场压力,大家一直在赶进度,... [阅读全文]

持续集成,持续集成之"分支策略

现代版本控制系统(SCM)的作用已不仅仅是保存历史版本,它还是各软件开发组织利用其分支功能实现多人并行开发,提高生产效率的一种工具。对于稍有历史的软件产品来说,一般都会有代码分支的出现,也常常见到一些历史悠久的产品其错综复杂的分支版本树甚至将产品交付团队拖入“无尽维护”的泥潭。分支的目的是希望“分而治之”,而持续集成的目的是“频繁集成&r... [阅读全文]

持续集成,想做好持续集成,必须考虑的几个方面

作为InfoQ 的《持续集成 》专栏作者,刚刚发表了第三篇文章《分支策略 》。有位童鞋问了这样一个问题: 我现在的团队也面临这样的问题,更糟糕的是我们还没有测试套件。目前只是面临企业内网,马上也面临外网的应用了。痛苦。。。那个大侠给个好建议! 其实,文章中已经给出了答案,即一直保持“主干开发为主的短周期分支策略”。当然,很多团队无法达到这种境界。原因可能非常简单。比如... [阅读全文]
1 共1条 分1页