Jenkins からスクリプトを実行するときに Nohup が機能しない

Jenkins からスクリプトを実行するときに Nohup が機能しない

次のようなbashスクリプトを実行する

nohup ws --port 8080 &

そのスクリプトをリモート サーバーで直接実行し、接続を閉じると、プロセスはまだ存在します。ただし、Jenkins の「SSH プラグイン」を使用している場合は、Jenkins が接続を閉じるとプロセスが停止します。そのスクリプトを実行するには、単純なコマンド sh scriptName.sh を使用します。

答え1

最も簡単な解決策は、「nohup」の代わりに「at now」を使用することです。

ジョブjenkins(シェル実行)に以下を入力します:

set +e #so "at now" will run even if java -jar fails
#Run java app in background
echo "java -jar $(ls | grep *.jar | head -n 1)" | at now + 1 min

関連情報