アプリケーションのビルド スクリプトを作成していますが、テスト/本番環境にデプロイ/リリースするためのベスト プラクティスは何かを考えています。
現在、私が書いているのは
- ssh を使用して Tomcat サーバーを停止します。
- Maven を使用して戦争を構築する
- ssh を使用して tomcat webapps dir から war を削除します
- ssh を使用して、ビルドされたファイルを tomcat の webapps ディレクトリに転送します。
- サーバーを起動する
これがアプリを展開する最善の方法ではないことは承知しており、フィードバックをお待ちしています。私が理想的にやりたいことは、
- prod env の Maven リリースを実行します。可能であればリビジョン番号まで。
- コードにタグを付けます。
- リリースされた戦争を、すべての戦争とその履歴を含む S3 フォルダーにアップロードします。
- S3 からファイルをダウンロードするサーバー/Jenkins にスクリプトを作成し (バージョンが提供されている場合はバージョン番号、それ以外の場合は最新)、Tomcat にデプロイします。
このステップ 4 を Jenkins に置くべきかサーバーに置くべきか混乱しています。Web アプリケーションをホストするために EC2 インスタンスを使用しているため、イメージにスクリプトが必要です。