我在一家软件公司工作,我们的主要开发语言是Java。 当然,我们使用哈德森连续build设,它出色地工作。 然而,哈德森并不擅长我们要求的其他一些事情。 我们还使用Hudson作业部署二进制文件,刷新数据库,运行负载testing,运行回归等。当存在构build依赖关系(即负载testing需要数据库刷新)时,我们确实遇到了麻烦。
以下是哈德逊不能做的,我们真正需要的一件事情:
构build依赖关系:它支持Ant构build的构build依赖关系,但不支持Hudson作业。 我们使用URL调用function来导致Hudson作业调用另一个Hudson作业。 问题是,哈德森总是返回200,并不会阻止,直到工作完成。 这意味着调用作业不知道a)构build是否失败,b)如果没有失败,需要多长时间。
不必使用shell脚本来指定构build的行为,但这并不是完全必要的。
任何方向都不错。 也许我们没有正确的使用Hudson(也就是说,所有的版本都是Ant版本?),或者我们需要另一种产品来实现我们的一键式部署,负载testing,迁移,数据库刷新等。
这个问题的实际答案可以在Stackoverflow上find。
https://stackoverflow.com/questions/4317870/alternative-build-manager-to-hudson