演習 - 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 アプリのデプロイを認証する方法を学習します。