この記事では、GitHub リポジトリを使用して Spring PetClinic サンプル アプリケーションを Azure Container Apps にデプロイする方法について説明します。
Java アプリケーションをデプロイするには、次のオプションを含め、いくつかのオプションが使用可能です。
- ローカル ファイル システムからのまたはコード リポジトリからのデプロイ。
- Maven または IDE を使用したデプロイ。
- WAR ファイル、JAR ファイル、または直接ソース コードを使用したデプロイ。
このチュートリアルを終えるまでに、Azure portal を使用して管理できる Web アプリケーションをデプロイします。 次のスクリーンショットは、Azure Container Apps にデプロイされた PetClinic アプリケーションのホーム ページを示しています。
前提条件
- Azure サブスクリプション。 無料で作成できます。
- Azure サブスクリプションに対する
Contributor
またはOwner
のアクセス許可。 詳細については、Azure portal を使用して Azure ロールを割り当てる方法に関するページを参照してください。 - GitHub アカウント。
- Git
- Azure CLI
- Azure Container Apps CLI 拡張機能、バージョン 0.3.47 以上。 最新バージョンをインストールするには、次のコマンドを使用します:
az extension add --name containerapp --upgrade --allow-preview
- Java Development Kit、バージョン 17 以降。
- Apache Maven
プロジェクトを準備する
「Azure Container Apps Java Samples」リポジトリ ページ上の [Fork] ボタンを使用して、リポジトリを個人用 GitHub アカウントにフォークします。 フォークが完了したら、次のセクションの中で使用するフォークの URL をコピーします。
プロジェクトをデプロイする
次の手順を使用してプロジェクトをデプロイします。
次のコマンドを使用して、必要な環境変数を設定します。
export RESOURCE_GROUP="pet-clinic-container-apps" export LOCATION="canadacentral" export ENVIRONMENT="env-pet-clinic-container-apps" export CONTAINER_APP_NAME="pet-clinic" export REPO_URL="<URL-of-your-GitHub-repo-fork>"
まだサインインしていない場合は、CLI から Azure にサインインします。 詳細については「クイック スタート: ローカル ソース コードから Azure Container Apps へのビルドとデプロイを行う」の「セットアップ」セクションを参照してください。
次のコマンドを使用して、Spring Boot アプリをビルドおよびデプロイします。
az containerapp up \ --resource-group $RESOURCE_GROUP \ --name $CONTAINER_APP_NAME \ --location $LOCATION \ --environment $ENVIRONMENT \ --context-path ./spring-petclinic \ --repo $REPO_URL
このコマンドでは次のタスクが実行されます。
- リソース グループを作成する。
- Azure Container Registry を作成する。
- コンテナー イメージをビルドして、それをレジストリにプッシュする。
- Log Analytics ワークスペースを使用して Container Apps 環境を作成する。
- ビルドされたコンテナー イメージを使用して、コンテナー アプリを作成およびデプロイする。
プロジェクトがデプロイされました。 新しいコードをリポジトリにプッシュすると、GitHub アクションによって次のタスクが実行されます。
- コンテナー イメージをビルドし、それを Azure Container Registry にプッシュする。
- 作成されたコンテナー アプリにコンテナー イメージをデプロイする。
アプリの状態を確認する
デプロイが完了したら、Azure portal でそのコンテナー アプリの [概要] ページに移動し、[アプリケーション URL] を選択して、クラウド内で実行されているアプリケーションを確認します。
リソースをクリーンアップする
その他のクイックスタートおよびチュートリアルの作業を続ける場合は、これらのリソースをそのままにしておいてかまいません。 リソースが不要になったら、次のコマンドを使用してそれらを削除し、Azure の料金がかからないようにすることができます。
az group delete --name $RESOURCE_GROUP