パイプライン操作(SSH経由)でトリガーされる単純なbashスクリプトファイルがあります。これ配布.sh以下の内容が多少含まれています。
cd /apps && java -jar "-Dspring.profiles.active=prod " "-Dserver.port=$PORT " \
"/apps/$DEPLOYING_VERSION" &
あまり重要ではない他のロジックもあります。 SSHによるパイプラインの実行:
bash /deploy.sh ${APPLICATION_NAME}
始める方法配布.shjava -jarを実行して比較するには配布.sh私のパイプライン(作業)を完了すると同時に、Javaアプリケーションがシステム上で動作し続けるには?私は前に試しました
cd /apps && nohup java -jar "-Dspring.profiles.active=prod " "-Dserver.port=$PORT " \
"/apps/$DEPLOYING_VERSION" &
しかし、物事が詰まっています...
java -jarを追跡して終了するのは素晴らしいですが、今はそれほど重要ではありません。 :)
答え1
cd /apps
並列に実行するには、java -jar
2つではなく単一の&記号を使用する必要があります cd /apps & java -jar
。ただし、java -jar
このコマンドは/ appsディレクトリで実行されると仮定すると機能しません。
より一般的には、command1 & command2
command1とcommand2は独立して並列に実行されます。
CI / CDツール(CI / CDパイプラインについて話していると仮定)は並列ジョブの実行をサポートできるため、パイプライン定義でもこの問題を解決しようとすることができます(あなたの場合に適している場合)。
答え2
cd /apps;
nohup java -jar "-Dspring.profiles.active=prod " "-Dserver.port=$PORT " \
"/apps/$DEPLOYING_VERSION" > /apps/spring.log 2>&1 &
魔法をかけてください。