演習 - Web アプリを Azure App Service に再デプロイする
前の演習では、Azure App Service 用の Maven プラグインを使用するように Web アプリを構成する方法を学習しました。 Maven プロジェクトが正しく構成され、テストされています。 アプリを Azure に繰り返し、改善し、再デプロイすることができます。 たとえば、Azure がアプリケーション コードをデプロイした場所に関する特定の詳細を取得し、Web アプリを再デプロイするとします。
この演習では、Web アプリの index.jsp
ページを更新して、サーバーに関するいくつかの情報を含めます。 これらの変更をローカルでテストした後、Web アプリを Azure に再デプロイします。
Web アプリを更新してテストする
code
を使用して、index.jsp
ページを編集します。code ~/MyWebApp/src/main/webapp/index.jsp
このファイルの内容を、次の 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>
Ctrl+S キーを押して変更を保存します。
コードエディターを終了するには、Ctrl+Qと入力します。
ブラウザーでローカル Web サーバーを表示できるようにするには、ポートを開く必要があります。 Cloud Shell で、次の
curl
を使用します。curl -X POST http://localhost:8888/openPort/8000;
次の Maven コマンドを使用して、アプリをローカルで実行します。
mvn package cargo:run
JSON の URL を使用して新しいブラウザー タブを開き、
MyWebApp/
追加します。 新しい [サーバーの状態] ページが表示されます。シェルで URL を選択してデプロイされたアプリにアクセスし、App Services で実行されているデプロイ済みアプリを確認します。
Ctrl+C を使用して Web アプリを停止します。
curl
を使用して開いているポートを閉じます。curl -X POST http://localhost:8888/closePort/8000;
Web アプリを再デプロイする
アプリをリビルドして再デプロイします。
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] ------------------------------------------------------------------------
シェルで URL を選択して、デプロイされたアプリにアクセスします。
リアルタイムでログをストリームする
これで、App Service でアプリをデプロイして実行できました。 トラブルシューティングが必要な場合は、次の Azure CLI コマンドを使用して、アプリからリアルタイムのログ ストリーミングを取得できます。
az webapp log tail -n <app name> -g "<rgn>[sandbox resource group name]</rgn>"
次のユニットでは、Azure App Service への Web アプリのデプロイを認証する方法について説明します。