Share via


Maven を使用して Spring Boot アプリケーションをデプロイする

注意

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

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

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

この記事では、Azure Spring Apps Maven プラグインを使用してアプリケーションを構成し、Azure Spring Apps にデプロイする方法について説明します。

前提条件

Spring プロジェクトを生成する

この記事で使用する Spring プロジェクトを作成するには、次の手順に従います。

  1. Spring Initializr に移動し、Azure Spring Apps に対して推奨される依存関係があるサンプル プロジェクトを生成します。 このリンクでは、次の URL を使用して既定の設定が提供されます。

    https://start.spring.io/#!type=maven-project&language=java&platformVersion=2.5.7&packaging=jar&jvmVersion=1.8&groupId=com.example&artifactId=hellospring&name=hellospring&description=Demo%20project%20for%20Spring%20Boot&packageName=com.example.hellospring&dependencies=web,cloud-eureka,actuator,cloud-config-client
    

    次の図は、このサンプル プロジェクトに対して推奨される Spring Initializr 設定を示しています。

    推奨設定を示す Spring Initializr ページのスクリーンショット。

    この例では、Java バージョン 8 を使用しています。 Java バージョン 11 を使用したい場合は、 [Project Metadata](プロジェクトのメタデータ) にあるオプションを変更してください。

  2. すべての依存関係が設定されたら、 [生成] を選択します。

  3. パッケージをダウンロードしてアンパックし、Web アプリケーション用の Web コントローラーを作成します。 次の内容を含むファイル src/main/java/com/example/hellospring/HelloController.java を追加します。

    package com.example.hellospring;
    
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @RestController
    public class HelloController {
    
        @RequestMapping("/")
        public String index() {
            return "Greetings from Azure Spring Apps!";
        }
    
    }
    

Spring アプリケーションをローカルでビルドする

Maven を使用してプロジェクトをビルドするには、次のコマンドを実行します。

cd hellospring
mvn clean package -DskipTests -Denv=cloud

プロジェクトのコンパイルには、数分かかります。 完了すると、各サービスのそれぞれのフォルダーに個別の JAR ファイルが作成されます。

Azure Spring Apps のインスタンスをプロビジョニングする

次の手順では、Azure portal を使用して、Azure Spring Apps のインスタンスを作成します。

  1. 新しいタブで、Azure portal を開きます。

  2. 上部の検索ボックスから Azure Spring Apps を探します。

  3. その結果から [Azure Spring Apps] を選択します。

    Azure portal のスクリーンショット。検索結果に Azure Spring Apps サービスが表示されています。

  4. [Azure Spring Apps] ページで [作成] を選択します。

    Azure portal のスクリーンショット。Azure Spring Apps リソースが表示されていて、[作成] ボタンが強調表示されています。

  5. Azure Spring Apps の [作成] ページで、フォームに入力します。 次のガイドラインを考慮してください。

    • サブスクリプション:このリソースに対する課金用のサブスクリプションを選択します。
    • [リソース グループ] :新しいリソース用に新しいリソース グループを作成することをお勧めします。 このリソース グループは、後の手順で <リソース グループ名> として使用します。
    • [サービス詳細/名前]<サービスインスタンス名> を指定します。 名前の長さは 4 文字から 32 文字で、小文字、数字、およびハイフンのみを使用できます。 サービス名の最初の文字は英字でなければならず、最後の文字は英字または数字でなければなりません。
    • [場所] :自分のサービス インスタンスのリージョンを選択します。

    Azure Spring Apps の作成ページが表示されている Azure portal のスクリーンショット。

  6. [確認と作成] を選択します。

構成を生成し、Azure Spring Apps にデプロイする

構成を生成してアプリをデプロイするには、次の手順に従います。

  1. POM ファイルが含まれる hellospring ルート フォルダーから、次のコマンドを実行します。 Azure CLI を使用して既にサインインしている場合、コマンドによって資格情報が自動的に取得されます。 それ以外の場合、コマンドによってサインインの手順が求められます。 詳細については、GitHub の azure-maven-plugins リポジトリの認証に関する記事を参照してください。

    mvn com.microsoft.azure:azure-spring-apps-maven-plugin:1.10.0:config
    

    以下を選択するように要求されます。

    • サブスクリプション ID - Azure Spring Apps インスタンスの作成に使用したサブスクリプション。
    • サービス インスタンス - Azure Spring Apps インスタンスの名前。
    • アプリ名 - 任意のアプリ名。または既定値を使用してくださいartifactId
    • パブリック エンドポイント - アプリを公開してパブリック アクセスできるようにする場合は true、それ以外の場合は false
  2. POM ファイル内の appName 要素の値が正しいことを確認します。 POM ファイルの関連部分は、次の例のようになります。

    <build>
        <plugins>
            <plugin>
                <groupId>com.microsoft.azure</groupId>
                <artifactId>azure-spring-apps-maven-plugin</artifactId>
                <version>1.10.0</version>
                <configuration>
                    <subscriptionId>xxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx</subscriptionId>
                    <clusterName>v-spr-cld</clusterName>
                    <appName>hellospring</appName>
    

    POM ファイルに、プラグインの依存関係と構成が含まれています。

  3. 次のコマンドを使用して、アプリをデプロイします。

    mvn azure-spring-apps:deploy
    

サービスを確認する

デプロイが完了したら、https://<service instance name>-hellospring.azuremicroservices.io/ でアプリにアクセスできます。

ブラウザーに表示された hello spring アプリのスクリーンショット。

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

サンプル アプリケーションを引き続き使用する場合は、リソースをそのまま残しておいてかまいません。 不要になったら、Azure Spring Apps インスタンスを含むリソース グループを削除してください。 Azure CLI を使用してリソース グループを削除するには、次のコマンドを使用します。

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

次のステップ