2016-05-19 50 views
0

我在jenkins中創建了免費樣式項目來安裝msi安裝程序。自由式項目有批處理命令作業在主站但不在從站Jenkins

  • 以字符串作爲參數的參數化作業。
  • 限制,其中該項目可以運行已啓用,選擇標籤
  • 在構建步驟中選擇「已執行Windows批處理命令」

批處理命令

@ECHO OFF 

IF NOT EXIST "C:\Build\Sample_%buidVersion%.msi" (
echo "The specified build does not exist in path" 
EXIT /B 1 
) ELSE (
echo "Installation of build" %buidVersion% "is started" 
START "" /WAIT msiexec.exe /i "C:\\Build\\Sample_%buidVersion%.msi" /L*V "C:\package.log" ADDSOURCE=ALL /qn 
) 

IF %errorlevel% NEQ 0 (
echo "Error in installation, Please check C:\package.log for more details" 
) ELSE (
echo "The build" %buidVersion% "installation is successful" 
) 
EXIT 

當我在不應用'限制可以運行此項目的地方已啓用並選擇標籤'的情況下在主服務器中執行此操作通過在主服務器上運行而在en abling這個並在奴隸執行它說錯誤,因爲,

「指定的版本不存在於路徑。」
構建步驟「執行Windows批處理命令」標誌着建設成爲失敗

+0

你是否檢查過你的slave,文件是否存在:「C:\ Build \ Sample_%buidVersion%.msi」? 也 - 命令的輸出與命令本身之間有區別 - 確定你是從同一個地方拿走它的? 您也沒有指定%buildVersion%從何處獲取或如何在工作空間中創建msi文件 – Dvir669

+0

是的,從屬擁有該文件。錯誤的輸出錯誤,現在糾正。 %buildVersion%是調用作業時提供的參數。 MSI文件現在手動複製到該位置.. – Deva

+0

我可以問你添加echo「C:\ Build \ Sample_%buidVersion%.msi」,cd C:\ Build,dir,並將輸出與文件比較,重新找? – Dvir669

回答

0

最好的辦法調試是echo命令看到故障點是你使用的參數。

添加在腳本的開頭:

  • 回聲 「C:\建立\ Sample_%buidVersion%的.msi」
  • CD C:\構建
  • DIR

並檢查您要查找的文件是否在正確的位置並且名稱正確。 祝你好運!

相關問題