使用自动安装JDK在Windows 7上安装和配置Jenkins

San*_*man 3 java windows-7 java-7 jenkins

我正在通过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\"'
Run Code Online (Sandbox Code Playgroud)

它永远不会超越这个.

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

有什么想法吗?

小智 6

在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\"
Run Code Online (Sandbox Code Playgroud)

逃脱的引号是旧式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\"
Run Code Online (Sandbox Code Playgroud)

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

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