同じ端末でアプリケーションを実行した後にコマンドを実行できますか?

同じ端末でアプリケーションを実行した後にコマンドを実行できますか?

アプリケーションの実行後にコマンドを実行する必要がありますが、アプリケーションが実行されている場合は、端末がアプリケーションを実行するため、これが可能かどうかはわかりません。 (Jenkinsパイプラインに必要です)

可能であればご存知ですか?

答え1

この種の問題は、サービスとして実行する必要があるアプリケーションがある場合に非常に一般的です。しかし、このアプローチにはいくつかの問題があります。 1つ目は、アプリケーションがサービスまたはデーモンとして実行する準備ができていないことです。これが今日、ほとんどの人がアプリケーションをDockerイメージにパッケージ化してデプロイする理由です。

Jenkinsは、各ステップの終わりに始まるすべてのプロセスを終了するように設計されています。この動作を望まない場合は、JENKINS_NODE_COOKIE変数を「dontKillMe」に設定してみてください。このような:

sh "export JENKINS_NODE_COOKIE=dontKillMe"
sh "myApp &"

Jenkinsのバージョンによっては、BUILD_IDこの変数を「donKillMe」に設定する必要があるかもしれません。

ありがとうございます。

関連情報