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

完了

このユニットでは、Maven を通してデプロイされるように Spring Boot アプリケーションを構成します。 次に、Azure App Service インスタンスを作成してデプロイします。

Maven プラグインを構成する

Azure App Service に対するデプロイ プロセスでは、Azure CLI からの Azure 資格情報が自動的に使用されます。

次の Maven コマンドを実行してデプロイを構成します。 このコマンドは、App Service オペレーティング システム、Azure サブスクリプション、Java バージョンを設定する助けになります。

mvn com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:config
  1. サブスクリプション オプションのプロンプトが表示されたら、行の先頭に適切な番号を入力してサブスクリプションを選択します。

  2. Web アプリ オプションのプロンプトが表示されたら、Enter キーを押して、既定のオプション <create> を受け入れます。

  3. OS オプションのプロンプトが表示されたら、Enter キーを押して linux を選択します。

  4. 既定の Java バージョン 1.8 を選択して Enter キーを押します。

  5. 最後のプロンプトで、Enter キーを押して選択内容を確認します。

    Please confirm webapp properties
    AppName : demo-1604579125693
    ResourceGroup : demo-1604579125693-rg
    Region : eastus
    PricingTier : PremiumV2_P1v2
    OS : Linux
    Java : Java 8
    Web server stack: Java SE
    Deploy to slot : false
    Confirm (Y/N) [Y]: Y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  28.781 s
    [INFO] Finished at: 2020-11-05T14:30:00+02:00
    [INFO] ------------------------------------------------------------------------
    

重要

リージョンの既定値は westeurope です。 最適なパフォーマンスを得るには、お使いのデータベースはこのリージョンにあるため値を eastus に変更します。

プロジェクトの pom.xml ファイルで、次のフィールドを変更します。

    <configuration>
        ...
        <region>eastus</region>
        ...
    </configuration>

アプリケーションのデプロイ

Maven デプロイ プラグインによって、Azure App Service サーバーが作成されます。 JAR ファイルは、アプリケーション サーバーの /local/site/wwwroot ディレクトリにコピーされます。 最後に、プラグインによって、Spring Boot JAR ファイルの埋め込み HTTP サーバーを使用してアプリケーションが起動されます。

次に、下記のコマンドを使用して、Spring Boot アプリケーションを Azure にデプロイします。

mvn package com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:deploy

このスクリーンショットは、Azure App Service にデプロイされたアプリケーションを示しています。

デプロイされたアプリケーションを示すスクリーンショット。

Azure App Service アプリケーションをテストする

デプロイが完了すると、http://<appName>.azurewebsites.net/ でアプリケーションの準備が整います。

アプリケーションをテストするには、cURL を使用できます。

アプリケーションを再デプロイしたときに、データベースをクリアしました。 ここで、データベース内に新しい Todo 項目を作成する必要があります。

curl --header "Content-Type: application/json" \
    --request POST \
    --data '{"description":"configuration","details":"congratulations, you have set up your Spring Boot application correctly!","done": "true"}' \
    http://<appName>.azurewebsites.net

次のコマンドを実行すると、作成した項目が返されます。

{"id":1,"description":"configuration","details":"congratulations, you have set up your Spring Boot application correctly!","done":true}

新しい cURL 要求を使用してデータを取得します。

curl http://<appName>.azurewebsites.net

このコマンドを実行すると、作成した項目を含め、Todo 項目の一覧が返されます。

[{"id":1,"description":"configuration","details":"congratulations, you have set up your Spring Boot application correctly!","done":true}]

Note

Web ブラウザーで URL を開き、Todo 項目の一覧を返すこともできます。