ant - Windows 上的 hudson : what is better - Ant files or Batch files?

标签 ant batch-file hudson jenkins

我有一些用于 CI 过程的 hudson 服务器。

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

你喜欢哪个?优缺点都有什么?

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

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

最佳答案

Batch 是一种编程语言(在这方面不是很好)。 Ant 是一种依赖矩阵语言。有什么不同?

  • 在编程语言中,您指定一切发生的顺序。您负责说明构建的内容和顺序。
  • 在依赖矩阵语言中,您只需说明依赖关系,程序就会计算出要做什么以及应该按照什么顺序进行。开发人员在使用 Ant 或 Make 时遇到的最大问题之一是尝试强制执行构建顺序让构建系统来处理它。

  • 构建应该总是使用像 Ant 这样的依赖矩阵语言来完成。

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

    您可以使用批处理脚本进行初步工作(例如,如果 Ant 需要更多内存,则设置 ANT_OPTS,或设置环境变量(如 ANT_HOME 和 JAVA_HOME 以及您的 %PATH% 变量)以确保您使用的是正确的 Java 和 Ant 版本。在 Hudson ,您可以在 Hudson 作业本身中设置所有这些,因此您不必调用 Batch 脚本。

    关于ant - Windows 上的 hudson : what is better - Ant files or Batch files?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5549633/

    相关文章:

    batch-file - 在 CALL 语句中传递来自 DOS 批处理脚本的管道字符

    c# - cmd批处理监听控制台应用程序的输出

    continuous-integration - 如何将 Sahi 测试作为 Hudson 构建的一部分运行?

    c++ - 带有单元测试的示例 C++ 项目

    java - Android AAPT 发生了什么?

    grails - grails是否有 `ant -s`类似物?

    windows - Bat 文件仅生成文件的 MD5 校验和

    Git 推送到 GitHub 失败 - 似乎正在尝试使用 HTTP?

    java - 为 Apache Ivy 提供特定于开发人员的配置

    java.lang.NoSuchMethodError : org. springframework.http.MediaType.getCharset()Ljava/nio/charset/Charset 错误