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バッチコマンド' 'このプロジェクトを実行できる場所が制限されていて、ラベルを選択する'を適用せずにマスターでこれを実行するこのオプションでは、マスターで実行してジョブを成功させるが、これを実行してスレーブで実行すると、エラーが発生します。エラーは、
"指定されたビルドはパスに存在しません。
ビルドステップが失敗として、デバッグに
スレーブで「C:\ Build \ Sample_%buidVersion%.msi」というファイルが存在することを確認しましたか? - コマンド自体の出力には違いがあります。同じ場所から取り出したのでしょうか? また、%buildVersion%を取得する場所、またはワークスペースにmsiファイルを作成する場所を指定していません。 – Dvir669
はい、スレーブにはそのファイルがあります。出力に間違ったタイプミスがあり、修正されました。 %buildVersion%は、ジョブの呼び出し中に指定されたパラメータです。 MSIファイルがその場所に手動でコピーされるようになりました.. – Deva
エコー "C:\ Build \ Sample_%buidVersion%.msi"を追加して、CD C:\ Build、dirを追加して、再探している? – Dvir669