ゲートを使用した リリース デプロイ制御Release deployment control using gates

Azure PipelinesAzure Pipelines

ゲートを使用すると、外部サービスからの正常性シグナルを自動で収集し、すべてのシグナルが成功したときにリリースを昇格させたり、タイムアウト時にデプロイを停止したりできます。Gates allow automatic collection of health signals from external services, and then promote the release when all the signals are successful at the same time or stop the deployment on timeout. 通常、ゲートは、インシデント管理、問題管理、変更管理、監視、および外部承認システムとの接続に使用されます。Typically, gates are used in connection with incident management, problem management, change management, monitoring, and external approval systems.

ゲートのシナリオScenarios for gates

ゲートのシナリオとユースケースには、次のようなものがあります。Some scenarios and use cases for gates are:

  • インシデントと問題の管理Incident and issues management. 作業項目、インシデント、および問題について、必要な状態を確認します。Ensure the required status for work items, incidents, and issues. たとえば、優先度が0のバグが存在しない場合にのみ配置を実行し、展開後にアクティブなインシデントが発生しないことを確認します。For example, ensure deployment occurs only if no priority zero bugs exist, and validation that there are no active incidents takes place after deployment.
  • Azure Pipelines の外部で承認をシーク します。Seek approvals outside Azure Pipelines. Microsoft Teams や余裕期間などの承認コラボレーションシステムと統合し、承認が完了するまで待機することによって、法的承認部門、監査者、IT 管理者などの Azure Pipelines 以外のユーザーに、展開について通知します。Notify non-Azure Pipelines users such as legal approval departments, auditors, or IT managers about a deployment by integrating with approval collaboration systems such as Microsoft Teams or Slack, and waiting for the approval to complete.
  • 品質の検証Quality validation. 成功率やコードカバレッジなどのビルド成果物のテストからメトリックを照会し、必要なしきい値内にある場合にのみデプロイします。Query metrics from tests on the build artifacts such as pass rate or code coverage and deploy only if they are within required thresholds.
  • アーティファクトに対するセキュリティスキャンSecurity scan on artifacts. ウイルス対策チェック、コード署名、ビルド成果物のポリシーチェックなどのセキュリティスキャンが完了したことを確認します。Ensure security scans such as anti-virus checking, code signing, and policy checking for build artifacts have completed. ゲートがスキャンを開始し、完了するのを待つか、または完了を確認するだけです。A gate might initiate the scan and wait for it to complete, or just check for completion.
  • ベースラインを基準としたユーザーエクスペリエンスUser experience relative to baseline. 製品テレメトリを使用して、ユーザーエクスペリエンスが基準の状態から低下したていないことを確認します。Using product telemetry, ensure the user experience hasn't regressed from the baseline state. デプロイ前のエクスペリエンスレベルは、ベースラインと見なすことができます。The experience level before the deployment could be considered a baseline.
  • 変更管理Change management. 展開が行われる前に、ServiceNow などのシステムで変更管理手順が完了するのを待ちます。Wait for change management procedures in a system such as ServiceNow complete before the deployment occurs.
  • インフラストラクチャの正常性Infrastructure health. 展開後にコンプライアンス規則に対して監視を実行し、インフラストラクチャを検証します。または、正常なリソース使用率と肯定的なセキュリティレポートを待機します。Execute monitoring and validate the infrastructure against compliance rules after deployment, or wait for healthy resource utilization and a positive security report.

正常性パラメーターのほとんどは、時間の経過と共に変化し、定期的に状態が健全から異常に変わり、健全に戻されます。Most of the health parameters vary over time, regularly changing their status from healthy to unhealthy and back to healthy. このようなバリエーションを考慮するために、すべてのゲートが同時に成功するまで定期的に再評価されます。To account for such variations, all the gates are periodically re-evaluated until all of them are successful at the same time. すべてのゲートが同じ間隔で失敗し、構成されたタイムアウトが経過するまで、リリースの実行と配置は続行されません。The release execution and deployment does not proceed if all gates do not succeed in the same interval and before the configured timeout.

ステージのゲートを定義するDefine a gate for a stage

ゲートは、ステージの開始時に ( 配置前の条件 で)、またはステージの最後 (配置後条件)、またはその両方で有効にすることができます。You can enable gates at the start of a stage (in the Pre-deployment conditions) or at the end of a stage (Post-deployment conditions), or both. ゲートを有効にする方法の詳細については、「 ゲートの構成」を参照してください。For details of how to enable gates, see Configure a gate.

評価前の遅延 は、ゲート評価プロセスの開始時の遅延であり、ゲートが初期化され、安定し、現在のデプロイに対して正確な結果を提供できるようになります (「ゲート評価フロー」を参照してください)。The Delay before evaluation is a time delay at the beginning of the gate evaluation process that allows the gates to initialize, stabilize, and begin providing accurate results for the current deployment (see Gate evaluation flows). 次に例を示します。For example:

  • 配置前ゲート の場合、デプロイされている成果物に対してすべてのバグがログに記録されるまでの時間が長くなります。For pre-deployment gates, the delay would be the time required for all bugs to be logged against the artifacts being deployed.
  • 配置後ゲート の場合、遅延は、デプロイされたアプリが安定した動作状態になるまでにかかった時間の最大値、展開されたステージで必要なすべてのテストの実行にかかった時間、および展開後にインシデントがログに記録されるまでにかかる時間の最大値になります。For post-deployment gates, the delay would be the maximum of the time taken for the deployed app to reach a steady operational state, the time taken for execution of all the required tests on the deployed stage, and the time it takes for incidents to be logged after the deployment.

既定では、次のゲートが使用できます。The following gates are available by default:

  • Azure 関数の呼び出し: azure 関数の実行をトリガーし、正常に完了したことを確認します。Invoke Azure function: Trigger execution of an Azure function and ensure a successful completion. 詳細については、「 Azure 関数タスク」を参照してください。For more details, see Azure function task.
  • Azure monitor アラートの照会: 構成済みの azure monitor アラートルールでアクティブなアラートを確認します。Query Azure monitor alerts: Observe the configured Azure monitor alert rules for active alerts. 詳細については、「 Azure monitor タスク」を参照してください。For more details, see Azure monitor task.
  • REST API の呼び出し: REST API 呼び出しを行い、成功した応答を返す場合は続行します。Invoke REST API: Make a call to a REST API and continue if it returns a successful response. 詳細については、「 HTTP REST API タスク」を参照してください。For more details, see HTTP REST API task.
  • 作業項目のクエリ: クエリから返された一致する作業項目の数がしきい値内であることを確認します。Query Work items: Ensure the number of matching work items returned from a query is within a threshold. 詳細については、「 作業項目クエリタスク」を参照してください。For more details, see Work item query task.
  • セキュリティとコンプライアンスの評価: 指定されたサブスクリプションとリソースグループのスコープ内のリソースに対する Azure Policy コンプライアンスを評価します。また、必要に応じて特定のリソースレベルで評価します。Security and compliance assessment: Assess Azure Policy compliance on resources within the scope of a given subscription and resource group, and optionally at a specific resource level. 詳細については、「 セキュリティの準拠と評価のタスク」を参照してください。For more details, see Security Compliance and Assessment task.

Marketplace 拡張機能を使用し て独自のゲートを作成 できます。You can create your own gates with Marketplace extensions.

追加したすべてのゲートに適用される評価オプションは次のとおりです。The evaluation options that apply to all the gates you've added are:

  • ゲートの再評価までの時間Time between re-evaluation of gates. ゲートが連続して評価される間隔。The time interval between successive evaluations of the gates. 各サンプリング間隔で、新しい要求が各ゲートに同時に送信され、新しい結果が評価されます。At each sampling interval, new requests are sent concurrently to each gate and the new results are evaluated. サンプリング間隔は、評価のためにすべての応答を受信する時間を確保するために、構成されたゲートの最も一般的な応答時間よりも長くすることをお勧めします。It is recommended that the sampling interval is greater than the longest typical response time of the configured gates to allow time for all responses to be received for evaluation.
  • ゲートが失敗するまでのタイムアウトTimeout after which gates fail. すべてのゲートの最大評価期間。The maximum evaluation period for all gates. 同じサンプリング間隔ですべてのゲートが成功する前にタイムアウトに達した場合、配置は拒否されます。The deployment will be rejected if the timeout is reached before all gates succeed during the same sampling interval.
  • ゲートと承認Gates and approvals. 両方を構成している場合は、ゲートと承認のために必要な実行順序を選択します。Select the required order of execution for gates and approvals if you have configured both. 配置前の条件の既定では、最初に手動 (ユーザー) の承認を求めるプロンプトが表示され、その後でゲートを評価します。For pre-deployment conditions, the default is to prompt for manual (user) approvals first, then evaluate gates afterwards. これにより、リリースがユーザーによって拒否された場合に、システムによるゲート関数の評価が保存されます。This saves the system from evaluating the gate functions if the release is rejected by the user. 配置後の条件では、既定でゲートが評価され、すべてのゲートが成功した場合にのみ手動での承認が要求されます。For post-deployment conditions, the default is to evaluate gates and prompt for manual approvals only when all gates are successful. これにより、承認に必要なすべての情報が承認者に付与されます。This ensures the approvers have all the information required to approve.

ゲート結果とログの表示の詳細については、「 承認のログを表示 する」と「 デプロイを監視および追跡する」を参照してください。For information about viewing gate results and logs, see View the logs for approvals and Monitor and track deployments.

ゲート評価フローの例Gate evaluation flow examples

次の図は、最初の安定化の遅延期間と3つのサンプリング間隔の後に、デプロイが承認されるゲート評価のフローを示しています。The following diagram illustrates the flow of gate evaluation where, after the initial stabilization delay period and three sampling intervals, the deployment is approved.

成功したゲート

次の図は、最初の安定化の遅延期間後、各サンプリング間隔ですべてのゲートが成功していないことを示すゲート評価のフローを示しています。The following diagram illustrates the flow of gate evaluation where, after the initial stabilization delay period, not all gates have succeeded at each sampling interval. この場合、タイムアウト期間が経過すると、配置は拒否されます。In this case, after the timeout period expires, the deployment is rejected.

失敗したゲート

ビデオVideo

その他のリソースAdditional resources

ヘルプとサポートHelp and support