export MAVEN_OPTS="--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED" ./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.18.0:config -DadvancedOptions
Spring Boot アプリを Azure にデプロイ
アプリケーションの段階的な実行を詳しく調べる前に、Azure にデプロイボタンをクリックするだけです。これにより、アプリが Azure Spring アプリに即座にデプロイされます。
Azure Spring アプリへのデプロイ | |
従量課金プラン | |
ベーシック / スタンダードプラン | |
エンタープライズプラン |
この記事では、Spring Boot アプリケーションを Azure Spring アプリ (英語) にデプロイする手順について説明します。
同じタスクの最新の手順については、Azure Spring Apps クイックスタートドキュメント (英語) を確認することをお勧めします。 |
構築するもの
GitHub からサンプル Spring Boot アプリケーションのクローンを作成し、Maven を使用してそれを Azure Spring アプリにデプロイします。
必要なもの
この記事の手順を実行するには、次の前提条件が必要です。
Azure サブスクリプション。Azure サブスクリプションをお持ちでない場合は、フリーの Azure アカウント (英語) にサインアップするか、MSDN サブスクライバーの利点 (英語) を有効にすることができます。
Java 開発キット (JDK) [Oracle] (英語) 、バージョン 17 以降。
Git [GitHub] (英語) クライアント。
Web アプリをローカルでビルドして実行する
このセクションでは、Spring Boot アプリケーションを複製し、ローカルでテストします。
ターミナルウィンドウを開きます。
mkdir SpringBoot
と入力して、Spring Boot アプリケーションを保持するローカルディレクトリを作成します。cd SpringBoot
と入力して、そのディレクトリに移動します。git clone https://github.com/spring-guides/gs-spring-boot-for-azure (英語)
と入力して、作成したディレクトリに Spring Boot アプリを Azure にデプロイ [GitHub] (英語) サンプルプロジェクトを複製します。cd gs-spring-boot-for-azure/complete
と入力して、完成したプロジェクトのディレクトリに移動します./mvnw clean package
と入力して、Maven を使用して JAR ファイルをビルドします。Web アプリが作成されたら、
./mvnw spring-boot:run
と入力して起動しますhttp://localhost:8080 にアクセスするか、別のターミナルウィンドウから
curl http://localhost:8080
を入力して、ローカルでテストします。次のメッセージが表示されるはずです: Hello World。
アプリを構成して Azure Spring アプリにデプロイする
Azure Spring Apps インスタンスをプロビジョニングする
Web ブラウザーで Azure ポータル (英語) を開き、アカウントにサインインします。
Azure Spring Apps
を検索し、Azure Spring Apps
を選択します。概要ページで 作成 を選択し、次の操作を行います。
サービス名 ボックスに、サービスインスタンスの名前を指定します。名前の長さは 4 ~ 32 文字である必要があり、小文字、数字、ハイフンのみを含めることができます。サービス名の最初の文字は文字にする必要があり、最後の文字は文字または数字にする必要があります。
サブスクリプションドロップダウンリストで、このリソースに対して請求するサブスクリプションを選択します。
リソースグループボックスで、新しいリソースグループを作成します。新しいリソースのリソースグループを作成することは、ベストプラクティスです。
場所 ドロップダウンリストで、サービスインスタンスの場所を選択します。
サービスがデプロイされるまでに約 5 分かかります。
デプロイの設定を追加
次のコマンドで、Azure Spring アプリ用の Maven プラグイン [GitHub] (英語) を使用して Web アプリを構成します。
コマンド説明:
export MAVEN_OPTS="--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED"
は、azure-maven-plugins#2222 [GitHub] (英語) で追跡されている課題を回避するために使用されます。この maven ゴールは最初に Azure で認証され、Azure CLI でログインしている場合は、既存の認証トークンが消費されます。それ以外の場合は、azure-maven-plugin [GitHub] (英語) を使用して自動的にログインします。
必要な情報を入力してください:
サブスクリプションを選択: 作成した Azure Spring アプリをホストするサブスクリプションを選択します。
デプロイの Azure Spring アプリの選択: 作成した Azure Spring アプリを選択します。
入力ランタイム Java バージョン (Java 11): Java 17
このアプリの boot-for-azure のパブリックアクセスを公開しますか ? (y/N): はい
その他のオプションについては、デフォルト値を選択してください。
ターミナル出力の例を次に示します。
~@Azure:~/gs-spring-boot/complete$ ./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.14.0:config -DadvancedOptions [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building boot-for-azure 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- azure-spring-apps-maven-plugin:1.14.0:config (default-cli) @ demo --- ... Available subscription: 1. xxx ... Select subscription [1-105] (20): ... Available Azure Spring Apps: 1. xxx ... Select Azure Spring Apps for deployment: [1-28] (1): 1 [INFO] Using Azure Spring Apps: xxx Input the app name (demo): Expose public access for this app boot-for-azure? (y/N):y Summary of properties: Subscription id : xxx Resource group name : xxx Azure Spring Apps name : xxx App name : demo Public access : yes Instance count : 1 CPU count : 1 Memory size(GB) : 1 Runtime Java version : Java 17 Confirm to save all the above configurations (Y/n):Y
必要に応じて、pom.xml を開いて、新しく追加されたコンテンツを表示します。
<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-spring-apps-maven-plugin</artifactId> <version>1.14.0</version> <configuration> <subscriptionId>xxx</subscriptionId> <resourceGroup>xxx</resourceGroup> <clusterName>xxx</clusterName> <appName>demo</appName> <isPublic>true</isPublic> <deployment> <cpu>1</cpu> <memoryInGB>1</memoryInGB> <instanceCount>1</instanceCount> <runtimeVersion>Java 17</runtimeVersion> <resources> <resource> <filtering/> <mergeId/> <targetPath/> <directory>${project.basedir}/target</directory> <includes> <include>*.jar</include> </includes> </resource> </resources> </deployment> </configuration> </plugin>
アプリをデプロイする
次のコマンドを実行して、アプリをデプロイします。
./mvnw azure-spring-apps:deploy
デプロイには数分かかる場合があります。デプロイが完了すると、出力に URL が表示されます。Web ブラウザーで URL に移動します。
Hello World
というメッセージが表示されます。
要約
おめでとう! Spring Boot アプリをビルドして Azure Spring アプリにデプロイしました。Azure ポータル (英語) にアクセスして管理できます。
不要になった場合は、作成された Azure リソースを削除することを忘れないでください。 |
AZD で実行
Azure 開発者 CLI (アズド) (英語) を使用して、このアプリケーションを Azure Spring アプリですばやく実行することもできます。Azure 開発者 CLI は、アプリケーションをローカル開発環境から Azure に移行する時間を短縮するオープンソースツールです。
azd で実行する方法については、最初のアプリケーションを Azure Spring アプリにデプロイする (英語) を参照してください。
関連事項
Spring を Azure とともに使用することに関する追加情報は、以下で入手できます。
新しいガイドを作成したり、既存のガイドに貢献したいですか? 投稿ガイドラインを参照してください [GitHub] (英語) 。
すべてのガイドは、コード用の ASLv2 ライセンス、およびドキュメント用の Attribution、NoDerivatives creative commons ライセンス (英語) でリリースされています。 |