ec2 プラットフォームにデプロイして実行したい (単純なスプリング ブート) Java アプリケーションがあります。(カスタム EC2 ソリューションとは別に) OpsWorks と Beanstalkがありますが、OpsWorks の方が拡張しやすいので適していると思います。
ユーザー コードと ec2 プラットフォームとの間のギャップを埋めるのに最適なツールはどれですか? したい:
- アプリケーションを適切に起動およびシャットダウンできるようにする。つまり、アプリケーションの再起動/停止/シャットダウン時に通常の終了フックを実行したい
- アプリケーションの起動に失敗した場合に注意してください。(デプロイは成功としてマークされるべきではなく、アプリケーションは正常ではありません)。この部分はユーザー コードで準備が必要だと思います。セットアップが成功すると、コンテナーまたは実行スクリプトに通知できるようになります。
OpsWorks のデフォルトの Java 構成は、Tomcat の前に追加の apache httpd を追加します。この追加コンポーネントは好きではありません。エラーが発生した場合にデバッグする必要がある追加の部分 (タイムアウト構成など) が導入されるからです。
では、war または jar ソリューションをお勧めしますか? OpsWorks を使用しますか? また、OpsWorks を使用している場合、展開を管理するために追加のレイヤー/ツールを使用していますか? デプロイはコマンド ラインで実行できる必要があります (そのため、jenkins を使用してアルファ デプロイを自動化できます)。Maven 統合は便利ですが、必須ではありません。