Windows上的Hudson:什么更好-Ant文件还是批处理文件?

Windows上的Hudson:什么更好-Ant文件还是批处理文件?,ant,batch-file,hudson,jenkins,Ant,Batch File,Hudson,Jenkins,我有一些hudson服务器用于CI流程 构建任务使用Ant脚本和老式的*.bat文件 你喜欢什么?利与弊是什么 (我认为可读性、开发人员熟悉性和可扩展性…) 还有其他选择吗?我们有.Net、Java和PHP应用程序要测试。*.bat文件很大程度上限制了您使用dos/windows,就像linux的shell脚本一样,而Ant/Maven是跨平台的,可以让您选择使用非windows CI服务器。批处理是一种编程语言(在这方面不是很好)。Ant是一种依赖矩阵语言。有什么区别 在编程语言中,可以指定

我有一些hudson服务器用于CI流程

构建任务使用Ant脚本和老式的*.bat文件

你喜欢什么?利与弊是什么

(我认为可读性、开发人员熟悉性和可扩展性…)


还有其他选择吗?我们有.Net、Java和PHP应用程序要测试。

*.bat文件很大程度上限制了您使用dos/windows,就像linux的shell脚本一样,而Ant/Maven是跨平台的,可以让您选择使用非windows CI服务器。

批处理是一种编程语言(在这方面不是很好)。Ant是一种依赖矩阵语言。有什么区别

  • 在编程语言中,可以指定一切发生的顺序。你有责任说什么是建立和秩序

  • 在依赖关系矩阵语言中,您只需声明依赖关系,程序就会计算出要执行的操作以及应该执行的顺序。开发人员在Ant或Make中遇到的最大问题之一是试图强制执行构建顺序,而不是让构建系统来处理它

构建应始终使用依赖关系矩阵语言(如Ant)完成。

让Ant确定需要构建什么以及构建顺序。不要使用批处理。如果您使用批处理脚本按您认为应该调用的顺序调用一组Ant脚本,那么您就做错了。让一个主Ant脚本执行并使用
调用。让蚂蚁做些棘手的事情


您可以使用批处理脚本来做准备工作(例如,如果ANT需要更多内存,则设置
ANT\u OPTS
,或者设置环境变量,如ANT\u HOME和JAVA\u HOME以及您的%PATH%变量,以确保您使用的是正确的JAVA和ANT版本。在Hudson中,您可以在Hudson作业本身中设置所有这些,因此您不必调用批处理脚本。

另外:当您的构建是cr时oss平台,你打开了在另一个Jenkins Linux从机上进行测试的大门,也打开了测试跨平台可移植性的大门。你是对的——在我看来,这不是一个大问题,因为我们只在windows平台上开发和部署。