Maven-deployment-automation
Maven-展開の自動化
プロジェクト開発では、通常、展開プロセスは次の手順で構成されます-
- 進行中のすべてのプロジェクトのコードをSVN(バージョン管理システム)またはソースコードリポジトリにチェックインし、タグ付けします。
- SVNから完全なソースコードをダウンロードします。
- アプリケーションをビルドします。
- ビルド出力をWARまたはEARファイルのいずれかを共通のネットワークロケーションに保存します。
- ネットワークからファイルを取得し、そのファイルを運用サイトに展開します。
- ドキュメントの日付を更新し、アプリケーションのバージョン番号を更新しました。
問題文
通常、上記の展開プロセスには複数の人が関与しています。 1つのチームがコードのチェックインを処理し、別のチームがビルドなどを処理する場合があります。 手動による作業やマルチチーム環境により、どのステップも見逃される可能性が非常に高くなります。 たとえば、古いビルドはネットワークマシンで置き換えられず、展開チームは古いビルドを再度展開しました。
溶液
以下を組み合わせて、展開プロセスを自動化します-
- Maven、プロジェクトをビルドおよびリリースします。
- ソースコードを管理するためのソースコードリポジトリであるSubVersion。 *プロジェクトバイナリを管理するためのリモートリポジトリマネージャー(Jfrog/Nexus)。
プロジェクトPOM.xmlを更新する
Mavenリリースプラグインを使用して、自動化されたリリースプロセスを作成します。
例:bus-core-apiプロジェクトPOM.xml。
Pom.xmlでは、以下が使用した重要な要素です-
Sr.No. | Element & Description |
---|---|
1 |
MavenがソースコードをチェックアウトするSVNの場所を構成します。 |
2 |
Repositories コードのビルドが成功した後、ビルドされたWAR/EAR/JARまたはその他のアーティファクトが保存される場所。 |
3 |
Plugin maven-release-pluginは、展開プロセスを自動化するように構成されています。 |
Mavenリリースプラグイン
Mavenは、 maven-release-plugin を使用して次の便利なタスクを実行します。
最後のリリースプロセスが成功しなかった場合に、ワークスペースをクリーンアップします。
最後のリリースプロセスが成功しなかった場合に備えて、ワークスペースのコードと構成に加えられた変更をロールバックします。
などの複数の操作を実行します-
- コミットされていないローカル変更があるかどうかを確認します。
- SNAPSHOT依存関係がないことを確認します。
- アプリケーションのバージョンを変更し、そのバージョンからSNAPSHOTを削除してリリースします。
- pomファイルをSVNに更新します。
- テストケースを実行します。
- 変更したPOMファイルをコミットします。
- Subversionのコードにタグを付けます
- バージョン番号を増やし、将来のリリースのためにSNAPSHOTを追加します。
- 変更したPOMファイルをSVNにコミットします。
以前に定義されたタグを使用してコードをチェックアウトし、Mavenデプロイゴールを実行して、warまたはビルドされたアーティファクトをリポジトリにデプロイします。
コマンドコンソールを開き、 C:\> MVN> bus-core-api ディレクトリに移動して、次の mvn コマンドを実行します。
Mavenはプロジェクトの構築を開始します。 ビルドが成功したら、次の mvn コマンドを実行します。
ビルドが成功したら、リポジトリ内のアップロードされたJARファイルを確認できます。