デプロイ スロットがスワップされる前に、web.config のアプリケーション初期化セクションで実行するページ数を指定できることを理解しています。私ができるようにしたいのは、アプリへのログインをシミュレートしてから、アプリが完全にウォームアップされるようにページ全体にアクセスすることです。
1 に答える
サイトのキャッシュをウォームアップする必要がある場合は、モジュールを使用してapplicationInitialization
、キャッシュをウォームアップするようにセットアップしたエンドポイントをポイントできます。これは、自動スワップ機能とうまく連携します。これを行う方法の詳細な説明は、デプロイ スロット スワップ中に Azure Web アプリをウォームアップする方法 にあります。applicationInitialization
モジュールを構成する方法は次のとおりです。
<system.webServer>
<applicationInitialization >
<add initializationPage="/youendpointToWarmCaches" hostName="youhostname"/>
</applicationInitialization>
<system.webServer>
それはあなたのニーズを満たすのに十分かもしれません。そうでない場合、認証されたエンドポイントにリクエストを送信してアプリをウォームアップする必要がある場合、applicationInitialization
指摘したようにモジュールは機能しません。モジュールを使用して認証されたエンドポイントを指すと、最終的に 401 またはリダイレクト応答が返されます。
もう 1 つのオプションは、スワップとプレビュー機能を使用することです。繰り返しになりますが、 Preview で Slot Swapを使用する方法を詳細に説明した素晴らしい記事があります。
プレビュー機能を使用したスワップは、アプリをロードしてから、実際にスワップを行わずにプロダクション設定を適用します。その後、ステージングされたサイトにリクエストを送信して、認証されたルートをウォームアップできます (これは本番環境の設定に反することに注意してください)。ウォーミング/検証が完了したら、実際のスワップを行うことができます。ワーカー プロセスは再起動されないため、スワップが完了すると、アプリは完全にウォームアップされます。
スワッピングはPowershellを使用して自動化し、ビルド プロセスの一部にすることができます。
注: Azure App Service 認証は、スワップ プレビューでは機能しません。
それが役立つことを願っています!