Jenkins が実行されている同じサーバー上で、Jenkins を使用して Play Framework (2.4) アプリケーションをローカルに自動デプロイするにはどうすればよいですか? いつかちゃんとした本番環境を別途セットアップして、おそらく同じようにテスト環境を実装する予定ですが、この時点で簡単なテスト環境をセットアップできるかどうかを確認したいと思います。 Jenkinsが実行されている同じサーバーに。
テストを実行している Jenkins ジョブがあり、問題なく動作しているようです。基本的には、アクティベーター コマンドを実行する「シェルを実行」します (1 行にまとめることができます)。
./activator clean
./activator test
Play 1 ではplay start
&play stop
を同様の目的で使用しました。開発環境を試しactivator start
てみると、次のメッセージが表示されます。
The start command is deprecated, and will be removed in a future version of Play.
To run Play in production mode, run 'stage' instead, and then execute the generated start script in target/universal/stage/bin.
To test your application using production mode, run 'testProd' instead.
そこで、「シェルの実行」とステージを使用して 2 つの (不完全な) 代替案を評価しました。
nohup を使用したステージングと実行:
./activator clean
./activator stage
nohup target/universal/stage/bin/my-app -Dplay.evolutions.db.default.autoApply=true
-> アプリケーションは正常に起動しましたが、Jenkins タスクは停止しませんでした。
バックグラウンドで nohup を使用してステージング & 実行:
./activator clean
./activator stage
nohup target/universal/stage/bin/my-app -Dplay.evolutions.db.default.autoApply=true &
-> アプリケーションはある時点で開始されたようですが、実行を継続しませんでしたか?
ここで推奨される(または機能するだけの)方法は何ですか?