演習 - IntelliJ IDEA からアプリのデプロイを管理する

完了

前のユニットでは、Azure Toolkit for IntelliJ の Azure Explorer を使用すると、Azure Web アプリを管理および構成できることを学習しました。 この演習では、Azure Explorer を使用して、IntelliJ IDEA 内の Azure App Service の Web アプリからログをストリーミングする方法を説明します。

次に、Azure Explorer を使用して Web アプリを変更し、構成にプロパティのペアを追加します。 これらのプロパティ値を読み取り、Web アプリのロジックで使用するように Web アプリを変更します。 次に、Web アプリを再デプロイし、期待どおりに機能することを確認します。

ログ ストリーミングを使用してアプリを監視する

  1. IntelliJ IDEA[View]\(表示\) メニューで [Tool windows]\(ツール ウィンドウ\) を選択し、[Azure Explorer] を選択します。

  2. [Azure Explorer] ウィンドウで [Web Apps] を展開し、Web アプリを右クリックして、[ログのストリーム開始] を選択してください。

    [Azure Explorer] ウィンドウの Web アプリのコンテキスト メニューのスクリーンショット。

  3. ログが数秒以内に表示されます。 Web アプリにアクセスして、いくつかのログを生成できます。

    HTTP 403 メッセージが表示された Web ブラウザーのスクリーンショット。

  4. ログのストリーミングを停止するには、Web アプリを右クリックし、[ログのストリーム停止] を選択してください。

Web アプリに構成プロパティを追加する

  1. [Azure Explorer] ウィンドウで Web アプリを右クリックし、[プロパティの表示] をクリックしてください。 Web アプリのプロパティ ウィンドウが表示されます。

    Web アプリのプロパティ ウィンドウのスクリーンショット。

  2. プロパティ ウィンドウで、[追加] アイコンをクリックして新しいプロパティ キーと値を追加してください。

  3. 新しいプロパティの [名前] 列に、「Delay」という名前を入力してください。

  4. プロパティの [値] 列に、「2」の値を入力し、Enter キーを押してください。

  5. プロパティ ウィンドウで [追加] アイコンを再び選択してください。

  6. Iterations」という名前の別のプロパティを追加し、値を「10」にします。

    新しいプロパティと値が表示された Web アプリのプロパティ ウィンドウのスクリーンショット。

  7. [保存] を選択します。

プロパティを使用するように Web アプリを変更する

  1. [Project Explorer]\(プロジェクト エクスプローラー\) ウィンドウで、index.jsp をダブルクリックして再度開きます。

  2. Web ページのコードの <body> セクションで、次のようにコードを更新してください。

    <body>
        <%! int delayms = Integer.valueOf(System.getenv("Delay")) * 1000;
            int iterations = Integer.valueOf(System.getenv("Iterations"));
            DateFormat fmt = new SimpleDateFormat("dd/MM/yy HH:mm:ss"); %>
        <%  for (int i = 0; i < iterations; i++) {
            Thread.sleep(delayms); %>
            <p>Today's date is <%= fmt.format(new Date()) %></p>
        <% } %>
        <p>Your IP address is <%= request.getRemoteAddr() %></p>
    </body>
    

    このコードでは、両方のプロパティの値を読み取ります。これらの値は、Web アプリ ランタイムの環境変数として公開されています。 このコードを実行すると、Delay 秒間隔で日付と時刻が表示され、Iterations 回ループされます。

    Note

    この例では、出力を生成するときにコードが同期的に実行されます。 つまり、ページが表示されるまでに最大 20 秒かかります。

  3. [ファイル] メニューの [すべてを保存] をクリックします。

  4. [プロジェクト エクスプローラー] ウィンドウで Web Apps を右クリックし、[Azure] を選択して、[Azure Web Apps にデプロイする] を選択してください。

  5. [Web アプリのデプロイ] ウィンドウで、既定の設定をそのまま使用し、[実行] を選択してください。 この操作により、既存の Web アプリが新しいバージョンで上書きされます。

  6. [Azure Activity Log]\(Azure アクティビティ ログ\) ウィンドウで、進行状況列に Web アプリが正常にデプロイされたと表示されるまで待ちます。

  7. [Azure アクティビティ ログ] ウィンドウの [発行済み] リンクを選択してください。 新しいブラウザー ウィンドウが開きます。 20 秒後に、2 秒間隔で時刻を表示するメッセージが表示され、それに続いてクライアント コンピューターの IP アドレスが表示されます。

    新しいバージョンの Web アプリを実行している Web ブラウザーのスクリーンショット。

    Note

    発行中に Web サイトを参照しようとすると、HTTP 403 エラーが表示されます。 そのような場合は、数秒待ってから Web ブラウザーを更新します。

  8. ブラウザー ウィンドウを開いたままにして、IntelliJ IDEA に戻ってください。

  9. [Azure Explorer] ウィンドウで Web アプリを右クリックし、[プロパティの表示] をクリックしてください。

  10. プロパティ ウィンドウで Delay プロパティを選択し、[値] フィールドをダブルクリックして編集してください。 値を「1」に変更します。

  11. Iterations プロパティを選択し、値を「5」に変更してください。

  12. [保存] を選択します。

  13. Web ブラウザーに戻り、表示を更新します。 今回は、ページに 1 秒間隔で時刻が表示され、5 回だけ繰り返されます。 Web アプリを再デプロイする必要がないことに注意してください。

    変更されたバージョンの Web アプリを実行している Web ブラウザーのスクリーンショット。

重要

Azure Toolkit for IntelliJ を使用して Web アプリを削除しても App Service プランは削除されませんが、Azure portal を使用してプランを削除できます。 これを行うには、次の図に示すように、適切なリソース グループに移動し、App Service プランを選択して、[削除] を選択してください。

Azure portal のスクリーンショット。ユーザーがアプリ サービス プランを削除しています。