【问题标题】:Installation and configuration of Jenkins on windows 7 with auto-install JDK在 Windows 7 上使用自动安装 JDK 安装和配置 Jenkins
【发布时间】:2012-05-28 13:31:42
【问题描述】:

我正在处理jenkins-the-definitive-guide。我已经使用 Windows 安装程序在 Windows 7 64 位上安装了 Jenkins。我已经配置了构建并设置 Jenkins 以在第一次构建时自动安装 JDK 7u3。当构建开始时,我在控制台日志中看到了这一点:

Started by user anonymous
Building in workspace C:\Program Files (x86)\Jenkins\workspace\gameoflife-default
Installing C:\Program Files (x86)\Jenkins\tools\JDK_7u3\jdk.exe 
[JDK_7u3] $ "C:\Program Files (x86)\Jenkins\tools\JDK_7u3\jdk.exe" /s /v /qn /L '\"C:\Program Files (x86)\Jenkins\tools\JDK_7u3\jdk.exe.install.log\"' REBOOT=ReallySuppress 'INSTALLDIR=\"C:\Program Files (x86)\Jenkins\tools\JDK_7u3\"'

它永远不会超越这个。

我试过了: - 确保 exe 不被阻止 - 确保服务帐户具有管理员权限 - 尝试安装其他 JDK。

有什么想法吗?

【问题讨论】:

  • 如果您的主要兴趣是获得一个有效的构建(而不是成为配置 Jenkins 的专家),那么禁用自动安装并手动安装 JDK。以我的经验,JDK 自动安装不过是麻烦。确保正确设置 JAVA_HOME。
  • 这正是我最终所做的,但是自动安装程序可以正常工作。我只是想知道我是否在做一些愚蠢的事情。现在我在 Windows 的 git 插件中发现了问题……但这是另一个话题。

标签: java windows-7 jenkins java-7


【解决方案1】:

JDK7的JDK自动安装有错误,好像是:
https://issues.jenkins-ci.org/browse/JENKINS-5408

如果您尝试在命令行上运行该命令,您会看到msiexec 对话框,这意味着参数不正确。由于我也遇到了这个问题,我去看看詹金斯实际通过了什么。它确实(在我们的例子中):

c:\jenkins\tools\JDK\jdk-1.7.0_06\jdk.exe /s /v /qn /L \"c:\jenkins\tools\JDK\jdk-1.7.0_06\jdk.exe.install.log\" REBOOT=ReallySuppress INSTALLDIR=\"c:\jenkins\tools\JDK\jdk-1.7.0_06\"

转义引号是旧式msiexec 安装的保留,其中/v 之后的所有内容都必须用单引号括起来,因为它们都被传递给其他东西。单引号转义已被删除,但实际语法也不再正确(安装程序已更改,选项也已更改)。问题是在 INSTALLDIR 变量中进行的引号转义。如果您删除它,它将进行安装(您可能仍然有一个 msiexec 进程挂起)。示例:

c:\jenkins\tools\JDK\jdk-1.7.0_06\jdk.exe /s /L \"c:\jenkins\tools\JDK\jdk-1.7.0_06\jdk.exe.install.log\" REBOOT=ReallySuppress INSTALLDIR=\"c:\jenkins\tools\JDK\jdk-1.7.0_06\"

您也许可以更进一步并使用/norestart 而不是设置reboot 属性,具体取决于它是否受到尊重。

我提出的所有这些建议仍然没有解决实际问题,即“如何正确自动安装 JDK7”。如果您遇到此问题,我不知道您是否可以不手动完成安装然后在主配置中关闭自动安装。对我来说,清理缓存文件似乎没有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    相关资源
    最近更新 更多