次の方法で共有


クイック スタート: WAR または JAR ファイルを使用して Azure Container Apps で最初の Java アプリケーションを起動する

この記事では、Web アプリケーション アーカイブ (WAR) ファイルまたは Java Archive (JAR) ファイルを使用して、Spring PetClinic サンプル アプリケーションを Azure Container Apps にデプロイする方法について説明します。

Java アプリケーションをデプロイするには、次のオプションを含め、いくつかのオプションが使用可能です。

  • ローカル ファイル システムからのまたはコード リポジトリからのデプロイ。
  • Maven または IDE を使用したデプロイ。
  • WAR ファイル、JAR ファイル、または直接ソース コードを使用したデプロイ。

このチュートリアルを終えるまでに、Azure portal を使用して管理できる Web アプリケーションをデプロイします。 次のスクリーンショットは、Azure Container Apps にデプロイされた PetClinic アプリケーションのホーム ページを示しています。

PetClinic アプリのホーム ページのスクリーンショット。

前提条件

プロジェクトをビルドする

次の手順を使用してプロジェクトをビルドします。

  1. 次のコマンドを使って、Azure Container Apps Java Samples リポジトリをクローンします。

    git clone https://github.com/Azure-Samples/azure-container-apps-java-samples.git
    
  1. 次のコマンドを使用して 、Spring PetClinic サンプル アプリケーション リポジトリを複製します。

    git clone https://github.com/spring-petclinic/spring-framework-petclinic.git
    
  1. 次のコマンドを使って、spring-petclinic フォルダーに移動します。

    cd azure-container-apps-java-samples/spring-petclinic/spring-petclinic/
    
  2. 次のコマンドを使用して、 Spring PetClinic サンプル アプリケーション リポジトリを初期化し、最新バージョンに更新します。

    git submodule update --init --recursive
    
  3. 次のコマンドを使用して、Maven ビルド領域のクリーンアップ、プロジェクトのコードのコンパイル、JAR ファイルの作成を行い、これらのプロセス中にすべてのテストをスキップします。

    mvn clean verify
    

これで、/target/petclinic.jar ファイルが作成されました。

  1. 次のコマンドを使用して 、spring-framework-petclinic フォルダーに移動します。

    cd spring-framework-petclinic
    
  2. 次のコマンドを使用して、Maven ビルド領域のクリーンアップ、プロジェクトのコードのコンパイル、JAR ファイルの作成を行い、これらのプロセス中にすべてのテストをスキップします。

    mvn clean verify
    

これで、/target/petclinic.war ファイルが作成されました。

プロジェクトをデプロイする

次のコマンドを使用して、JAR パッケージを Azure Container Apps にデプロイします。

既定の JDK バージョンは 17 です。 環境変数を使用してバージョンを指定することもできます。 アプリケーションとの互換性のために JDK のバージョンを変更するには、 --build-env-vars BP_JVM_VERSION=<your-JDK-version> 引数を使用します。 詳細については、「 Azure Container Apps での Java の環境変数のビルド (プレビュー)」を参照してください。

az containerapp up \
    --resource-group <resource-group> \
    --name <container-app-name> \
    --subscription <subscription-ID>\
    --___location <___location> \
    --environment <environment-name> \
    --artifact <JAR-file-path-and-name> \
    --ingress external \
    --target-port 8080 \
    --query properties.configuration.ingress.fqdn

次のコマンドを使用して、WAR ファイルを Azure Container Apps にデプロイします。

既定の Tomcat バージョンは 9 です。 アプリケーションとの互換性のためにバージョンを変更するには、 --build-env-vars BP_TOMCAT_VERSION=<your-Tomcat-version> 引数を使用します。 この例では、 BP_TOMCAT_VERSION=10.*を設定することで、Tomcat のバージョンが 10 (マイナー バージョンを含む) に設定されています。 詳細については、「 Azure Container Apps での Java の環境変数のビルド (プレビュー)」を参照してください。

az containerapp up \
    --resource-group <resource-group> \
    --name <container-app-name> \
    --subscription <subscription>\
    --___location <___location> \
    --environment <environment-name> \
    --artifact <WAR-file-path-and-name> \
    --build-env-vars BP_TOMCAT_VERSION=10.* \
    --ingress external \
    --target-port 8080 \
    --query properties.configuration.ingress.fqdn

アプリの状態を確認する

この例では、containerapp up コマンドに --query properties.configuration.ingress.fqdn 引数が含まれており、完全修飾ドメイン名 (FQDN) (アプリの URL とも呼ばれます) が返されます。

この URL をブラウザーに貼り付けて、アプリケーションを表示します。

リソースをクリーンアップする

その他のクイックスタートおよびチュートリアルの作業を続ける場合は、これらのリソースをそのままにしておいてかまいません。 リソースが不要になったら、次のコマンドを使用してそれらを削除し、Azure の料金がかからないようにすることができます。

az group delete --name <resource-group>