1

今日、私はジェンキンスで作業を開始し、プロジェクトをジェンキンスに正常に追加しました。ビルドの 1 つに 5 時間以上かかりましたが、いずれも終了しなかったため中止しました (手動ビルドは 1 時間もかかりませんでした)。だから私はシェルコマンドとして実行してperlスクリプトのログを取得しようとしました

         usr/local/bin/perl perlscript.pl>logfile.txt

ログは書き込まれず、どちらのケースでもビルドがトリガーされたという証拠はありませんでした。このプロジェクトを除いて、perlscript (手動でトリガーしても問題なく動作します) と jenkins の両方が適切に動作しているため、問題が何であるかはわかりません。よろしくお願いします。

4

1 に答える 1

1

Jenkins について理解しておくべきことがいくつかあります。

  • Jenkins はジョブのログとして STDOUT を表示
    するため、ファイルにリダイレクトすると、ログには何も表示されません。

  • 設定方法によっては、Jenkins が独自のユーザーとして実行され、
    スクリプトの動作が変わる場合があります。これは、シェル実行ブロック
    の先頭でユーザー名をエコーすることで確認できます。 次に例を示します。

    echo $USER

  • 各 Jenkins-Job は独自のワークスペースから実行されます。たとえば、Execute Shellブロッ​​ク の先頭に
    現在の作業ディレクトリを出力するだけで、その場所を確認できます。

    echo my current directory is
    pwd

于 2013-06-08T17:26:38.707 に答える