2011-04-05 46 views

回答

10

批处理是编程语言(并不是一个很好的)。 Ant是相关矩阵语言。有什么不同?

  • 编程语言,指定中的顺序进行的一切。你负责任地说什么是建立和顺序。

  • 相关性矩阵语言,你只是陈述的依赖,程序计算出该怎么做和秩序,应该在做,其中一个最大的问题,开发商有蚂蚁或制作是尝试强制构建订单而不是让构建系统处理它。

构建应始终像蚂蚁相关性矩阵的语言来完成。

让Ant确定需要构建的内容和它应该构建的顺序。不要使用批处理。如果您使用批处理脚本按照您认为应该调用的顺序调用一堆Ant脚本,那么您就错了。有一个主Ant脚本执行它并使用<subant>调用。让Ant做棘手的事情。

您可以使用批处理脚本做前期工作(如设置ANT_OPTS如果蚂蚁需要更多的内存,或设置类似ANT_HOME和JAVA_HOME和您%PATH%变量的环境变量,以确保你使用了正确的Java和Ant在Hudson中,你可以在Hudson作业中设置所有这些,所以你不必调用批处理脚本。

+0

感谢您的出色答案,我认为我会尝试随着时间的推移切换到蚂蚁... – 2011-04-06 07:23:16

4

* .bat文件相当多限制你DOS/Windows的,怎么样shell脚本是用于Linux,而蚂蚁/ Maven是跨平台的,让您使用非Windows CI服务器的选项

+0

另外:当你的版本是跨平台的时候,你打开了测试的大门一个额外的Jenkins-Linux从站以及测试跨平台可移植性 – Tim 2011-04-05 09:39:55

+0

您是对的 - 在我的情况下,这不是一个大问题,因为我们只在Windows平台上开发和部署。 – 2011-04-05 11:10:25