【问题标题】:How Jenkins internally set JAVA_HOME on Mac?Jenkins 如何在 Mac 上内部设置 JAVA_HOME?
【发布时间】:2012-08-11 00:01:37
【问题描述】:

我有一个有趣的问题。在 Linux 上使用 Jenkins 构建主节点,并拥有一个 Mac Mountain Lion 节点(此处描述的内容在 Linux 和 Windows 上运行良好,但仅在这台 Mac 机器上存在问题,同时使用 SSH 连接和 Java Web Start。

在客户端机器上:

  • 我已经安装了 JDK(并验证了它)。
  • 我设置了 JAVA_HOME 槽 .profile 用于与 Jenkins 通信的构建用户
  • 可以从 shell 和 Maven 访问 Java

但 Jenkins 总是在启动作业后设置另一个 JAVA_HOME ($JENKINS_HOME/tools/JDK/jdk1.6) 但该文件夹是空的(在 Linux 节点上,应该在此文件夹内部署 JDK,并且是,但不是在 Mac 上)。

有谁知道在 Jenkins 中是否有可能改变这种行为?在 Jenkins 配置中设置自定义 JAVA_HOME 都没有帮助,使用 .profile 文件,在作业中即时导出变量等。

我使用的是最新版本 1.477

2012 年 8 月 15 日更新和修复

所以,在 Mac 上运行作业时有一行,说

JDK 安装已跳过:未知 CPU 名称:mac os x

关键是甲骨文不会发布适用于 Mac 的 JDK,这是一种“功能”。

我解决此问题的步骤是:

  • 已配置 Jenkins 和 Mac 节点之间的 SSH 连接
  • 手动将 JDK 安装到 Mac
  • 添加到节点配置 Java 作为工具并指定 Mac 节点上 JDK 主目录的路径
  • 已从节点配置中删除 Maven 作为工具(因为它已从节点上的 Lion 版本中导出,如果您不删除它,您的 Maven 内容将因任何冲突原因而失败)。

这修复了 Lion 和 Mountain Lion 的问题。

【问题讨论】:

  • 请写下您的“更新和修复”作为答案,这样它就不会作为未解决的问题挂起。谢谢!
  • 当然,做到了。很抱歉给您带来不便。

标签: java build jenkins osx-mountain-lion java-home


【解决方案1】:

所以,在 Mac 上运行作业时有一行代码,说

JDK 安装已跳过:未知 CPU 名称:mac os x

关键是甲骨文不会发布适用于 Mac 的 JDK,这是一种“功能”。

我解决此问题的步骤是:

  1. 已配置 Jenkins 和 Mac 节点之间的 SSH 连接
  2. 手动将 JDK 安装到 Mac
  3. 添加到节点配置 Java 作为工具并指定 Mac 节点上 JDK 主目录的路径
  4. 已从节点配置中删除 Maven 作为工具
    (因为它已从节点上的 Lion 版本中导出,如果您不删除它,
    您的 Maven 内容将因任何冲突原因而失败)。

这修复了 Lion 和 Mountain Lion 上的问题。

【讨论】:

    猜你喜欢
    • 2012-07-06
    • 2016-10-01
    • 2020-08-01
    • 2013-01-20
    • 2022-07-06
    • 2014-05-15
    • 1970-01-01
    • 2011-02-06
    相关资源
    最近更新 更多