環境プロモーションとは? 開発から本番への移行
環境プロモーションとは、リリースを環境のチェーンに沿って進め、各ステップで信頼性を高めてから本番に到達させる手法です。
本番に直接デプロイするのはリスクがあります。環境プロモーションは、すべてのリリースをチェーンに沿ってルーティングすることでそのリスクを減らします。まず開発、次にステージング、そして本番です。同じartifactがチェーンを上がっていき、各段階で検証されます。本番に到達する頃には、現実にますます近い環境で既に実力を証明済みです。
プロモーションチェーン
- 開発: 素早い検証、高速なイテレーション。
- ステージング: 本番に近い、より充実したテスト。
- 本番: ユーザーが目にする稼働環境。
各ステップでの信頼性
各環境は、問題がユーザーに届く前に捕捉するチャンスです。開発をすり抜けたバグも、ステージングの本番に近い構成で捕捉できるかもしれません。プロモーションは、一度の危険な飛躍を、より小さく安全な複数の飛躍に変えます。
簡単な例
buildは自動的に開発へデプロイされ、統合テストが通ったらステージングへプロモートされ、ステージングでsmoke testと手動承認が成功して初めて本番へプロモートされます。artifactはどの段階でも同一です。
環境は本番に似ているべき
プロモーションは、各環境が本番を忠実に反映しているときに最も価値があります。ステージングが本番と大きく異なれば、ステージングを通過してもほとんど意味がありません。環境を揃えて保つことが、プロモーションチェーンを信頼できるものにします。
プロモーション vs デプロイ
デプロイはartifactを1つの環境に送ります。プロモーションは、そのartifactを定義済みの環境チェーンに沿って、各停留所の間にgateを設けながら進めるという、より広い手法です。プロモーションは戦略であり、デプロイは各停留所での行動です。
重要なポイント
- 環境プロモーションは、リリースを開発、ステージング、そして本番へと進めます。
- 各環境が、実際のユーザーに届く前に問題を捕捉します。
- 各環境が本番を忠実に反映している場合にのみ機能します。
関連ガイド
What Is a Promotion Step? Advancing a Build ForwardA promotion step advances the same artifact from one environment to the next, like staging to production, wit…
What Is a Deployment Job? Shipping Code From a PipelineA deployment job is a pipeline job that releases a build to an environment, like staging or production. Learn…
What Is a Release Pipeline? Taking a Build to ProductionA release pipeline takes a tested build through environments to production, often with approvals and promotio…