然后,当我们开始了解自己的错误时,我们寻找了一种在专用构建机器上自动构建整个应用程序的方法。当时的文化非常不愿意引入外部工具,所以我们编写了一个VB应用程序来构建自己的自动构建系统。
这段时间运行得很好,直到项目结构开始改变,添加了新项目,并且我们需要以不同的方式构建应用程序。然后我们手动编写的自动构建程序的弱点变得明显,并且随着时间的推移越来越繁琐。现在,这种问题已经发展到了QA(拥有我们的构建过程)无法维护自动构建程序的地步,因为它需要越来越多的编程技能。每次我们添加一个项目或更改现有项目中的内容时,都需要消耗更多的开发人员时间才能使其正常工作。有时我们甚至无法生成构建版本,因为系统出现故障。
我现在有能力改变这个过程,并且打算废除整个系统并放置其他东西。我的目标是:
- 拥有一个自动构建系统,可以在每天特定的时间运行,不需要人为干预。它应该能够收集所有源代码,编译所有应用程序,创建安装程序,将成品放置在网络共享上,并可能触发自动化测试系统(我们使用QTP)。 - 自动构建系统应该足够灵活,以便轻松适应项目中的变化,而无需进行重大改进。 - 它应该足够简单,以便QA可以拥有该系统,并且不需要开发人员资源来更改构建方式。
你有什么经验?你能推荐一个自动构建系统吗?我是否应该有不同的目标?