5

私が取り組んできた Windows プロジェクトのビルドを処理するために、Windows で Jenkins をセットアップしています。今までは、ローカルでビルドしていました。ビルドを実行するバッチ ファイルがあり、最終的にいくつかの msi インストーラーが生成されます。

一部のプロジェクトには、バッチ ファイルを実行するビルド後の手順が含まれています。バッチ ファイルへの引数には、スペースが含まれている場合があります。コマンド プロンプトからビルド バッチ ファイルを実行する場合、これは問題になりません。

ただし、ジェンキンスにはこれに問題があるようです-次のようなエラーが表示されます

「ファイルが見つかりません: C:\Program」

Jenkinsがバッチをトリガーするとエラーが発生するのに、手動で実行するとエラーが発生しない理由について困惑しています-何かアイデアはありますか?

4

2 に答える 2

3

スペースを含む引数については、それらを二重引用符で囲みます。例:

間違い: PROCESS_FILE.EXE C:\Program Files\This File.txt

正しい: PROCESS_FILE.EXE "C:\Program FILEs\This File.txt"

于 2012-08-10T14:29:49.123 に答える
0

Jason が言及しているように、引数とパスを引用符で渡す必要があります。

また、ビルド ログを確認して、使用している引用符の種類を確認してください。渡される場所に応じて、一重引用符または二重引用符、または何らかのエスケープ文字が必要になる場合があります。

Jenkins が外部コマンドまたはビルド前後のイベントに対して実行する実際のバッチ ファイルを確認する場合は、ビルド ログを確認し、エディターで一時バッチ ファイルを読み込んで、実際にどのように表示されるかを確認します。ビルドをデバッグするために、これが必要になる場合があります。

于 2012-08-11T02:12:15.283 に答える