2016-05-19 3 views
0

msiインストーラをインストールするためにjenkinsでフリースタイルのプロジェクトを作成しました。フリースタイルのプロジェクトはバッチコマンドジョブはマスタで動作しますがスレーブジェンキンスでは動作しません

  • パラメータ化されたジョブをパラメータとして持ちます。
  • このプロジェクトが実行できる場所に制限が有効になっているとラベルを選択し
  • ビルドステップ

バッチコマンド

@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 

Iで選択された '実行されるWindowsバッチコマンド' 'このプロジェクトを実行できる場所が制限されていて、ラベルを選択する'を適用せずにマスターでこれを実行するこのオプションでは、マスターで実行してジョブを成功させるが、これを実行してスレーブで実行すると、エラーが発生します。エラーは、

"指定されたビルドはパスに存在しません。
ビルドステップが失敗として、デバッグに

+0

スレーブで「C:\ Build \ Sample_%buidVersion%.msi」というファイルが存在することを確認しましたか? - コマンド自体の出力には違いがあります。同じ場所から取り出したのでしょうか? また、%buildVersion%を取得する場所、またはワークスペースにmsiファイルを作成する場所を指定していません。 – Dvir669

+0

はい、スレーブにはそのファイルがあります。出力に間違ったタイプミスがあり、修正されました。 %buildVersion%は、ジョブの呼び出し中に指定されたパラメータです。 MSIファイルがその場所に手動でコピーされるようになりました.. – Deva

+0

エコー "C:\ Build \ Sample_%buidVersion%.msi"を追加して、CD C:\ Build、dirを追加して、再探している? – Dvir669

答えて

0

ベストな方法を構築するマーク「Windowsバッチコマンドを実行し」障害点がどこにあるか見るためにあなたが使用しているパラメータをエコーすることです。

  • CDのC:

    • は "\ \ Sample_%buidVersion%の.msiを構築するC":エコー:

      あなたのスクリプトの先頭に追加\ビルドし

    • DIR

    探しているファイルが正しい名前で正しい場所にあるかどうかを確認します。 幸運を祈る!

  • 関連する問題