【问题标题】:Hudson build fails when run in browser but works from command lineHudson 构建在浏览器中运行时失败,但可以从命令行运行
【发布时间】:2009-05-21 14:28:40
【问题描述】:

我正在为一个生成 javascript 文件并在构建过程中执行 xslt 转换的项目设置一个新的 Hudson 任务(在 WinXP 上)。

当从 Hudson 运行时,ant 构建在 XSL 转换上失败,但是当从命令行运行相同代码库(即在 Hudson 的工作区)上的相同构建时,它工作正常。

失败信息是:

第 208 行:变量“screen”在同一范围内被多次定义。

我尝试将 Hudson 配置为直接使用 ant 和使用批处理脚本 - 在 Hudson 中都失败了。

我曾在 Firefox、IE6 和 Chrome 中尝试过,也遇到过同样的问题。

谁能建议我们如何使用 Hudson 解决这个问题?

【问题讨论】:

    标签: hudson


    【解决方案1】:

    问题解决了。

    我们的构建实际上依赖于 jdk 1.4.2,而 Hudson 似乎使用 1.6 运行。当我将 Hudson 设置为作为服务运行时,它以我的本地用户身份运行,这意味着它选择了 1.4.2 JAVA_HOME 环境变量 - 因此可以工作。

    我想另一种可能的解决方案是将 Hudson 配置为默认使用 1.4.2。

    【讨论】:

      【解决方案2】:

      我认为这不是 Hudson 的直接问题,因为它与构建脚本和/或环境本身有关。

      您的构建脚本是否依赖于正在定义的某些环境变量,或者更糟糕的是,从某个目录结构中运行的作业(即,如果它是从 /home/mash/blah 下运行,但不能从另一个目录下运行,例如 / tmp)?构建脚本是否通过相对路径引用外部文件?

      这些是我要研究的事情。对于环境变量,您可以告诉 Hudson 将它们传递给 Ant。对于其他问题,您可能想要更改构建脚本。检查 Hudson 提供的控制台输出,并可能将 Ant 设置为打印详细/调试消息以更好地了解环境/文件路径。

      【讨论】:

        猜你喜欢
        • 2019-03-25
        • 1970-01-01
        • 2016-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-12
        • 2017-01-25
        • 1970-01-01
        相关资源
        最近更新 更多