Skip to content
Latchkey

デプロイメントゲートとは?

デプロイメントゲートとは、デリバリー pipeline におけるチェックポイントであり、変更は次の段階へ進むことを許される前に - 自動チェックに合格するか承認を受けることで - これを通過しなければなりません。

デプロイメントゲートは pipeline のガードレールです。テストに合格すること、品質のしきい値を満たすこと、あるいは人間の承認を得ることなど、変更が前進する前に満たすべき条件をコード化します。うまく使えば、官僚的な障害物になることなく基準を強制できます。

ゲートの役割

ゲートは pipeline の段階の間に位置し、変更が続行してよいかを判断します。ゲートの条件が満たされれば、変更は本番へ向けて流れていきます。満たされなければ、そこで止められます。ゲートは昇格のルールを明示し、記憶や規律に頼るのではなく、毎回自動的にそれを強制します。

自動ゲート

自動ゲートは人間の関与なしに条件を評価します。テストの合格、しきい値を超えるカバレッジ、重大なセキュリティ上の発見がないこと、範囲内のパフォーマンス、健全な canary 分析などです。それらは高速で一貫性があり、チェックを忘れることがありません。良いゲーティングの大部分は、頻繁な deploy に合わせてスケールするよう自動化すべきです。

手動承認ゲート

一部のゲートには人間の判断が必要です - release manager が本番 deploy を承認する、あるいは stakeholder が重要な変更に承認を与える、といった場合です。手動ゲートはリスクの高いステップに制御を加えますが、遅延とボトルネックをもたらすため、人間の判断が本当に価値を加える場合のために取っておくべきです。

ゲート対スピード

あらゆるゲートは安全性と速度の間のトレードオフです。少なすぎれば悪い変更がすり抜け、多すぎるか遅すぎれば、変更が承認の後ろに積み上がる一方で pipeline は這うように進みます。目標は、フローを絞め殺すことなく本当の問題を捕捉する、意味のあるゲートの最小限のセットです。

良いゲートを設計する

良いゲートは重要なことをチェックし、失敗時に迅速で明確なフィードバックを与え、人々がゲートを迂回するよう仕向ける誤報を避けます。可能な限り手動より自動ゲートを優先し、もはや遅延というコストに見合わなくなったゲートを継続的に間引きましょう。

重要なポイント

  • デプロイメントゲートとは、変更が pipeline で前進するために通過しなければならないチェックポイントです。
  • 自動ゲートは頻繁な deploy に合わせてスケールします。手動ゲートはリスクの高いステップのために取っておきましょう。
  • あらゆるゲートは安全性を速度と引き換えにします - そのコストに見合うものだけを残しましょう。

関連ガイド