更新戦略

エバーグリーン・アプローチ

私たちは SCEPman ソリューションに対してエバーグリーン(常に最新)アプローチを推奨します。つまり、プロダクション チャネルの最新バージョンを使用するべきということです。ZIP デプロイメントの仕組みを利用して、直接 GitHub を指し示し、開発チームがリリースした最新バージョンを読み込むことができます。

その方法はこの記事に記載されています:

アプリケーションアーティファクトchevron-right

このアプローチにより、常に最新の機能とセキュリティ更新を受け取れます。

circle-info

念頭に置いておくべきことは アップデートは App Service が停止して再起動されたときにのみ発生する. これは ZIP デプロイメントがトリガーされるイベントです。App Service が自動的に停止・起動しない間でも、特定のイベントでは外部的に再起動されます。そのイベントの一つが 基盤となるインフラストラクチャのメンテナンスおよびパッチ適用arrow-up-right. それらは 定期的に行われ、サービスを最新の状態に保ちます.

本番のエンタープライズ環境では、更新プロセスをより細かく制御したい場合、Microsoft の機能を利用できます: デプロイメント スロット.

デプロイメント スロットの構成

SCEPman の更新プロセスを完全に制御したい場合は、次のものを使用できます デプロイメント スロット Azure App Service 内で。

circle-check

以下の手順は、プレリリース管理のために私たちが推奨するセットアップを示します

circle-info

各デプロイメント スロットは本番アプリと同じ App Service プラン上で動作し、同じリソースを使用することに注意してください。

プレリリース スロット

プレリリース スロットの考え方は、本番の App Service を自身のストレージアカウントに保存されたアーティファクトで稼働させ、新しく作成したデプロイメント スロットを私たちの GitHub アーティファクトを指すようにすることです。カスタムアーティファクトの場所を設定する手順は次の記事で確認できます:

アプリケーションアーティファクトchevron-right

これで本番の App Service はカスタムアーティファクトの場所で稼働しており、新しいデプロイメント スロットの構成を進めます。

circle-info

デプロイメント スロットの要件 ****(PowerShell SCEPman モジュール経由):

  • SCEPman 2.2 または上記

  • PowerShell SCEPman-Module 1.5.1.0 または上記

次の CMDlet コマンドは、デプロイメント スロットを作成し、必要なすべての権限を構成します。

の URL をコピーしてください

デプロイメントが正常に完了したら、SCEPman App Service の -> でデプロイメント スロットを確認できます。 デプロイメント スロット

次に、デプロイメント スロットが GitHub 上の SCEPman Production チャネルを指していることを確認します:

に移動し、 デプロイメント スロット -> 環境変数 を探して設定を確認し、 WEBSITE_RUN_FROM_PACKAGE に生の production チャネルのアーティファクト をその値に貼り付けます。

元の アプリサービス に戻り、 デプロイメント スロット yで 2 つのスロットが表示され、次の操作を管理できます: トラフィック % 新しいプレリリース スロットへ定義された割合のリクエストをルーティングするために プレリリース スロット。 このトラフィック ルーティングはアプリケーションにとって完全に透過的であり、App Service によって処理されることが重要です。私たちは トラフィック %20の設定を推奨します。これの後、あなたは Application Insightsで 2 つのスロットを比較できます。私たちが GitHub に更新版をリリースした場合、あなたは単に プレリリース スロットを再起動するだけでよく、その後で Application Insightsで 2 つの異なるバージョンを比較できます。1 週間後、またはお好みの期間の後、新しい GitHub アーティファクトをカスタムアーティファクトの場所にアップロードして SCEPman ソリューションを更新できます。

最終更新

役に立ちましたか?