2012-05-22 155 views
3

我正在通過jenkins-the-definitive-guide。我已經使用Windows安裝程序在Windows 7 64位上安裝了Jenkins。我已經配置了一個構建和設置Jenkins以在第一個版本上自動安裝JDK 7u3。當開始啓動時,我在控制檯日誌中看到:在Windows 7上安裝和配置Jenkins,並自動安裝JDK

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。

有什麼想法?

+0

如果您的主要興趣是獲得工作版本(而不是成爲配置Jenkins的專家),請禁用自動安裝並手動安裝JDK。根據我的經驗,JDK自動安裝不過是麻煩。確保正確設置JAVA_HOME。 –

+0

這正是我最終做的事情,但是它對於自動安裝程序來說很好。我只是想知道我是否在做一些愚蠢的事情。現在我在git插件中發現了Windows的問題......但這是另一個話題。 – Sandman

回答

6

有一個在JDK自動安裝的JDK7的錯誤,看來:
https://issues.jenkins-ci.org/browse/JENKINS-5408

如果您嘗試在命令行中運行的命令,你得到的msiexec對話框,這意味着一個參數是不正確的。因爲我也有這個問題,所以我去看看Jenkins實際通過了什麼。它(在我們的例子):

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,而不是設置重啓性質,取決於它是否受人尊敬的。

我所提出的所有這些建議仍然沒有涉及到實際問題,即'如何正確自動安裝JDK7'。如果你遇到這個問題,我不知道你可以手動完成安裝,然後在主配置中關閉自動安裝。對我來說,清理緩存文件似乎沒有幫助。

+0

'+ 1'分享。謝謝 :) – Anne