Skip to content
Latchkey

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によってゲートされます。

関連ガイド