Azure CLI から Spring Boot アプリケーションをデプロイする方法

注意

Azure Spring Apps は、Azure Spring Cloud サービスの新しい名前です。 サービスの名前は新しくなりましたが、スクリーンショット、ビデオ、図などの資産の更新に取り組んでいる間、場所によってはしばらく古い名前が表示されます。

この記事の適用対象: ✔️ Java ❌ C#

この記事の適用対象: ✔️ Basic または Standard ❌ Enterprise

Azure Spring Apps を使用して Azure で Spring Boot アプリケーションを有効にすることができます。

Java ソース コードまたはビルド済み JAR からアプリケーションを直接起動できます。 この記事では、デプロイ手順について説明します。

前提条件

開始する前に、ご利用の Azure サブスクリプションで、以下の必要な依存関係があることを確認します。

  1. Git をインストールする
  2. JDK 8 をインストールする
  3. Maven 3.0 以上をインストールする
  4. Azure CLI のインストール
  5. Azure サブスクリプションにサインアップする

ヒント

Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 最新バージョンの Git、JDK、Maven、Azure CLI など、一般的な Azure ツールがプレインストールされています。 Azure サブスクリプションにログインしている場合は、shell.azure.com から Azure Cloud Shell を起動します。 Azure Cloud Shell の詳細については、ドキュメントを参照してください

Azure CLI 拡張機能をインストールする

次のコマンドを使用して、Azure CLI 用の Azure Spring Apps 拡張機能をインストールします

az extension add --name spring

Azure CLI を使用してサービス インスタンスをプロビジョニングする

Azure CLI にサインインし、アクティブなサブスクリプションを選択します。

az login
az account list -o table
az account set --subscription <subscription-id>

Azure Spring Apps でサービスを格納するリソース グループを作成します。 Azure リソース グループの詳細についてはこちらをご覧ください。

az group create --location eastus --name <resource-group-name>

次のコマンドを実行して、Azure Spring Apps のインスタンスをプロビジョニングします。 Azure Spring Apps のサービスの名前を準備します。 名前は 4 から 32 文字で、小文字、数字、およびハイフンのみを使用できます。 サービス名の最初の文字は英字でなければならず、最後の文字は英字または数字でなければなりません。

az spring create --resource-group <resource-group-name> --name <resource-name>

サービス インスタンスのデプロイには約 5 分かかります。

次のコマンドを使用して、既定のリソース グループ名と Azure Spring Apps インスタンス名を設定します。

az config set defaults.group=<service-group-name>
az config set defaults.spring=<service-instance-name>

Azure Spring Apps でアプリケーションを作成する

次のコマンドで、自分のサブスクリプションに Azure Spring Apps でアプリケーションを作成します。 それにより、アプリケーションをアップロードできる空のサービスが作成されます。

az spring app create --name <app-name>

Spring Boot アプリケーションをデプロイする

ビルド済みの JAR から、あるいは Gradle または Maven リポジトリからアプリケーションをデプロイできます。 ケースごとに次の手順を行います。

ビルド済みの JAR をデプロイする

ローカル コンピューター上にビルドされた JAR からデプロイするには、ビルドによって fat-JAR が生成されることを確認します。

アクティブなデプロイに fat-JAR をデプロイするには

az spring app deploy --name <app-name> --artifact-path <path-to-fat-JAR>

特定のデプロイに fat-JAR をデプロイするには

az spring app deployment create --app <app-name> \
    --name <deployment-name> \
    --artifact-path <path-to-fat-JAR>

ソース コードからのデプロイ

Azure Spring Apps では、kpack を使用してプロジェクトをビルドします。 Azure CLI を使用してソース コードをアップロードし、kpack を使用してプロジェクトをビルドして、ターゲット アプリケーションにデプロイすることができます。

警告

このプロジェクトでは、target (Maven デプロイの場合) または build/libs (Gradle デプロイの場合) の MANIFEST.MFmain-class エントリがある JAR ファイルを生成するのは 1 つだけにする必要があります。 main-class のエントリを持つ複数の JAR ファイルを使用すると、デプロイが失敗します。

単一モジュールの Maven/Gradle プロジェクトの場合:

cd <path-to-maven-or-gradle-source-root>
az spring app deploy --name <app-name> --source-path

複数のモジュールを含む Maven/Gradle プロジェクトの場合は、モジュールごとに以下を繰り返します。

cd <path-to-maven-or-gradle-source-root>
az spring app deploy --name <app-name> --source-path \
    --target-module <relative-path-to-module>

デプロイ ログの表示

次のコマンドを使用して、kpack ビルド ログを確認します。

az spring app show-deploy-log --name <app-name>

Note

kpack ログには、そのデプロイが kpack を使用してソースからビルドされた場合にのみ、最新のデプロイが表示されます。

パブリック エンドポイントをアプリケーションに割り当てる

  1. [アプリ] ペインを開いて、ご利用のサービス インスタンス用のアプリを表示します。
  2. アプリケーションを選んで、その [概要] ページを表示します。
  3. [Assign endpoint] (エンドポイントの割り当て) を選び、アプリケーションにパブリック エンドポイントを割り当てます。 このプロセスには数分かかることがあります。
  4. [概要] ページの URL をコピーし、ブラウザーに貼り付け、実行中のアプリケーションを表示します。

次のステップ

クイックスタート: ログ、メトリック、トレースを使用した Azure Spring Apps の監視

その他のサンプルを GitHub で入手できます (Azure Spring Apps のサンプル)。