1

Jenkinsでジョブを実行しているときに、次のコンソール出力が表示されます。

ワークスペースでのビルド/home/admin/.jenkins/jobs/ramdisk/workspace[SSH
]ビルド前スクリプトの実行:
./ build_script.sh
[SSH]終了ステータス:127
[SSH]ビルド後スクリプトの実行:
[SSH] exit-ステータス:0
終了:SUCCESS

上記のスクリプトを端末で手動で実行すると、問題ありません。ここで問題になる可能性のあるものを教えていただけますか?

4

1 に答える 1

2

まず、ターミナルでスクリプトを手動で実行すると、終了ステータス127も取得される可能性がありますが、ターミナルで終了ステータスをチェックしていないため、気づいていません。

Jenkinsは、終了コード0のみが成功を意味すると想定しています。その他の終了コードは、何らかの障害を意味します。build_script.shが非標準の方法で終了コードを使用している場合、Jenkinsはそれが失敗したと見なします。

マシン上で直接次のことを行います。

./build_script.sh
echo $?

スクリプトコマンドの直後に、他に何もせずにechoコマンドを実行するようにしてください。これにより、コマンドラインに終了コードが出力されます。ここであなたが得たものに答えてください。

次に、テキストエディタ(vim、nano、使用するものは何でも)でbuild_script.shを開き、を検索しexit 127ます。それを見つけたら、それがどのブロックから出ているかを確認してください。スクリプトの読み取りに問題がある場合は、スクリプトの内容(または見つけたブロックのみexit 127)をここに貼り付けてください。スクリプトが終了する必要があると考える理由がわかります。

于 2013-01-09T14:14:01.250 に答える