Several times in my career, I have worked in a software group that determined that
a) We needed a build/test system
b) We should write our own
c) We can have a developer spend a week, get it done and they shouldn t have to touch it again
每次,这都导致了一个似乎只为编写它的人工作并需要他们的不断关注的系统。我在几个场合花时间寻找一个我可以拿到的工具来满足我们的需求,但徒劳无功。通常,这样的工具只适用于非常狭窄的市场。我再一次需要这样的东西。有类似的东西吗,或者我们要重新编写吗? 这是我按优先顺序列出的要求(最后几项只是美好的愿望):
能够处理多项目构建。我们有几个组件,它们为其他组件提供所需的东西,并使用其他组件的功能。开发人员应该能够检出一个组件并进行更改,而无需构建整个项目。项目外的依赖关系应该自动引入。因此,一种能够将构建好的对象推送和拉取到服务器的方法对于此非常关键。另一个方面是能够将所有依赖关系下载到本地目录以进行公路上的开发的能力。
不要担心事情建造的方式。这可能听起来很奇怪,但我不希望构建系统担心编译我的代码。已经有了为每种语言编写的出色工具- Ant,CMake等。我只想告诉它该调用什么来构建事物以及它应关心什么输出。这样,项目A可以是Java,项目B可以是C ++,你懂的。
有一些方法可以在输出上进行测试。
在网页上展示当前的构建/测试结果
电邮结果
与RCS的集成(我们使用svn)