promotion stepとは何か?ビルドを前へ進める
promotion stepは、全く同じartifactをある環境から次へ、stagingから本番のように、再ビルドせずに進めます。
ビルドがstagingで自らを証明したら、本番用に再ビルドはしません。それをpromoteします。promotion stepは、ある環境でpassした同一のartifactを取り、それを次へ移動させます。一度ビルドしてpromoteすることは、テストしたものがまさに出荷するものであることを保証し、「stagingでは動いた」という驚きを排除します。
なぜ再ビルドではなくpromoteするのか
環境ごとに再ビルドすると、微妙な差異のリスクがあります。更新された依存関係、変わったフラグ、再現不可能なビルドです。promotionは同じバイトを前へ移動させるので、本番のartifactはstagingでpassしたものとバイト単位で同一です。
promotionの仕組み
- artifactは一度ビルドされ保存される(例: タグ付きイメージ)。
- それが下位の環境へデプロイされ検証される。
- promotion stepがその同じartifactをより上へデプロイする。
- 環境間で再コンパイルは起こらない。
簡単な例
イメージ app:${SHA} がstagingへデプロイされ、smoke testをpassします。promotion stepがその後 app:${SHA}(同じタグ)を本番へデプロイします。SHAが同一のビルドであることを証明します。
promotionと承認
本番へのpromotionは、多くの場合手動承認またはquality gateの背後に位置します。promotion stepはアクションで、ゲートがそれが起こることを許可するかどうかを決めます。
リリースパイプラインでのpromotion
promotion stepはリリースパイプラインの背骨です。一度ビルドし、その後一連のpromotionがartifactをdevからstaging、本番へと歩ませ、各々が適切にゲートされます。これはリリースを一貫して監査可能に保ちます。
重要なポイント
- promotion stepは、同じartifactを次の環境へ進めます。
- 一度ビルドしてpromoteすることは、本番がテストしたものと一致することを保証します。
- promotionは通常、承認またはquality gateによってゲートされます。
関連ガイド
What Is an Environment Promotion? Moving Through Dev to ProdEnvironment promotion is the practice of advancing a release through a chain of environments, like dev to sta…
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…
What Is a Quality Gate Stage? Automated Pass/Fail ChecksA quality gate stage enforces automated criteria (coverage, scans, lint) that a build must pass to proceed. L…