演習 - Web アプリを Azure App Service に再デプロイします

完了

前の演習では、Azure App Service 用 Maven プラグインを使用するよう、Web アプリを構成する方法について学習しました。 Maven プロジェクトが正しく構成およびテストされています。 アプリを繰り返し、改善し、Azure に再デプロイできます。 たとえば、Azure でアプリケーション コードがデプロイされた場所に関する詳細を取得し、Web アプリを再デプロイするとします。

この演習では、サーバーに関する情報をいくつか含めるよう、Web アプリの index.jsp ページを更新します。 これらの変更をローカルでテストしたら、Web アプリを Azure に再デプロイします。

Web アプリを更新し、テストする

  1. code を使用し、index.jsp ページを編集します。

    code ~/MyWebApp/src/main/webapp/index.jsp
    
  2. このファイルの内容を次の HTML とインライン Java コードに置き換えます。

    <%@ page import = "java.io.*,java.util.*, jakarta.servlet.*, java.net.InetAddress, java.io.File" %>
    <html>
    <head><title>Server Status Page</title></head>
    <body>
        <h2>Server name: <% out.print(InetAddress.getLocalHost().getHostName());%></h2>
        <p><strong>Internal IP Address:</strong> <% out.println(InetAddress.getLocalHost().getHostAddress()); %></p>
        <p><strong>Free disk space:</strong>
            <%
                File file = new File("/");
                out.println(file.getFreeSpace());
                file = null;
            %>
        </p>
        <p><strong>Free memory: </strong>
            <% 
                out.println(Runtime.getRuntime().freeMemory());
            %>
        </p>
        <p><strong>Date: </strong>
            <%
                Date date = new Date();
                out.print(date.toString());
                date = null;
            %>
        </p>
    </body>
    </html>
    
  3. Ctrl+S キーを押して変更内容を保存します。

  4. Ctrl+Q キーを押してコード エディターを終了します。

  5. ローカル Web サーバーがブラウザーに表示されるよう、ポートを開く必要があります。 Cloud Shell で curl を使用します。

    curl -X POST http://localhost:8888/openPort/8000;
    
  6. 次の Maven コマンドを使用し、アプリをローカルで実行します。

    mvn package cargo:run
    
  7. JSON の URL を使用して新しいブラウザー タブを開きます。MyWebApp/ を追加してください。 新しい [サーバーの状態] ページが表示されます。

    Web ブラウザーの Tomcat で実行されている Web アプリの例のスクリーンショット。

  8. シェルで URL を選択してデプロイ済みアプリにアクセスし、App Services で実行されているデプロイ済みアプリを確認します。

  9. Ctrl+C キーを使用して Web アプリを停止します。

  10. curl を使用して開いているポートを閉じます。

    curl -X POST http://localhost:8888/closePort/8000;
    

Web アプリを再デプロイする

  1. アプリをリビルドして再デプロイします。

    mvn clean package
    mvn azure-webapp:deploy 
    

    Maven では一連のビルド メッセージが表示され、最後に、Azure へのデプロイが成功したことを示すメッセージが表示されます。

    [INFO] Successfully deployed the resources to MyWebApp-1570214065588
    [INFO] Trying to deploy artifact to MyWebApp-1570214065588...
    [INFO] Deploying (/home/cephas/MyWebApp/target/MyWebApp.war)[war]  ...
    [INFO] Application url: https://MyWebApp-1570214065588.azurewebsites.net
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  01:00 min
    [INFO] Finished at: 2024-05-02T12:58:05Z
    [INFO] ------------------------------------------------------------------------
    
  2. デプロイされたアプリにアクセスするには、シェルでその URL を選択します。

    Web ブラウザーの Tomcat で実行されている Web アプリの例。

リアルタイムでログをストリームする

これで、アプリを App Service にデプロイして実行できました。 トラブルシューティングする必要がある場合は、この Azure CLI コマンドを使用して、アプリからリアルタイムのログ ストリーミングを取得できます。

az webapp log tail -n <app name> -g "<rgn>[sandbox resource group name]</rgn>"

次のユニットでは、Azure App Service への Web アプリのデプロイを認証する方法を学習します。