この記事では、Dockerfile を使って 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
ローカル環境でプロジェクトをビルドする
次の手順を使って、ローカル コンピューターで Spring PetClinic アプリケーションをビルドします。
次のコマンドを使って、Azure Container Apps Java Samples リポジトリをクローンします。
git clone https://github.com/Azure-Samples/azure-container-apps-java-samples.git次のコマンドを使って、spring-petclinic フォルダーに移動します。
cd azure-container-apps-java-samples/spring-petclinic/spring-petclinic/次のコマンドを使って、PetClinic アプリケーションを初期化して最新バージョンに更新します。
git submodule update --init --recursive次のコマンドを使って、PetClinic アプリケーションをビルドします。
./mvnw clean install次のコマンドを使って、アプリケーションをローカル環境で実行します。
./mvnw spring-boot:runアプリケーションが起動したら、
http://localhost:8080を使ってローカル環境でそれにアクセスします。
PetClinic アプリケーションを Azure Container Apps にデプロイする
次の手順を使って、PetClinic アプリケーションを Azure Container Apps にデプロイします。
次のコマンドを使って、必要な環境変数を設定します。
export RESOURCE_GROUP="pet-clinic-container-apps" export LOCATION="canadacentral" export ENVIRONMENT="env-pet-clinic-container-apps" export CONTAINER_APP_NAME="pet-clinic"Azure にまだサインインしていない場合は、CLI からサインインします。 詳しくは、「ローカル ソース コードから Azure Container Apps へのビルドとデプロイを行う」の「セットアップ」セクションをご覧ください。
次のコマンドを使って、Spring PetClinic アプリをビルドしてデプロイします。
..(ドット ドット) は、親フォルダーにある Dockerfile を使っていることを示します。az containerapp up \ --resource-group $RESOURCE_GROUP \ --name $CONTAINER_APP_NAME \ --location $LOCATION \ --environment $ENVIRONMENT \ --source ..このコマンドは、次のタスクを実行します。
- リソース グループを作成します。
- Azure コンテナー レジストリを作成します。
- コンテナー イメージをビルドしてレジストリにプッシュします。
- Log Analytics ワークスペースで Container Apps 環境を作成します。
- ビルドされたコンテナー イメージを使って、コンテナー アプリを作成してデプロイします。
アプリの状態を確認する
デプロイが完了したら、Azure portal でコンテナー アプリの [概要] ページに移動し、[アプリケーション URL] 選んで、クラウドで実行されているアプリケーションを確認します。
リソースをクリーンアップする
クイックスタートとチュートリアルをさらに続けて行う場合は、これらのリソースをそのままにしておいてかまいません。 リソースが不要になったら、次のコマンドを使ってそれを削除し、Azure の料金がかからないようにできます。
az group delete --name $RESOURCE_GROUP