Windows 上の Jenkins Agent で pipeline の sh が「cannot run program nohup」で失敗する ― 2021年06月09日 11時27分07秒
まず、Jenkins で Windows 機を利用するに当たって必要なのが、git bash のインストールだろう。Jenkins で git を用いて最新のコードを取得するのにインストールが必要になる。
git bash のインストール時に、システムパスを更新するか選択できる。実は、bit bash と共にインストールされる Unix コマンドまでは path に入れてもらえないのが原因だ。
git 自体は「C:\Program Files\Git\cmd\git.exe」の様に、cmd フォルダに入れられるが、sh や bash 等は「C:\Program Files\Git\bin\sh.exe」の様に、bin フォルダに入る。
なぜ、Jenkins で「sh ls」等を行うと、nohup が出てくるのか分からないのだが、上の二つのフォルダとはまた別に、その他のコマンドが、「C:\Program Files\Git\usr\bin」ディレクトリに入るのだ。
つまり、nohup エラーは、Jenkins を設定する時に、三つの実行パスが追加されているかを確認する必要がある。
sh を実行しているのに nohup がエラーで出て、Windows のシェル上では動いているのに、Jenkins のジョブとして起動すると sh が nohup エラーを出すので、紆余曲折があり解決に時間がかかった。 C:\Program Files\Git\bin\sh.exe
最近のコメント