Windows 上の Jenkins Agent で pipeline の sh が「cannot run program nohup」で失敗する2021年06月09日 11時27分07秒

Jenkins を設定し、Windows 機がエイジェントとしてジョブを処理するように構築している。Jenkinsfile 内での sh が「cannot run program nohup」とエラーを起こす。

まず、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

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2021/06/09/9386149/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。