我有一个有趣的问题。在 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 配置中设置自定义 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 内容将因任何冲突原因而失败)。
这解决了狮子和山狮的问题。