デプロイメントパイプラインステージとは何か?出荷のフェーズ
デプロイメントパイプラインステージとは、通常は最後のフェーズで、ビルドされテストされたartifactをターゲット環境へリリースします。
buildとtestがpassした後、デプロイステージが実際に出荷します。パイプラインがチェックをやめ、稼働中のシステムを変更し始めるフェーズです。実際の環境に作用するため、デプロイステージは通常ゲートの背後に位置し、リリースを信頼するbranchまたはtag上でのみ実行されます。
デプロイステージが行うこと
前のステージからのartifactを取って適用します。イメージのpushとrollout、ファイルの同期、サービスの更新、インフラの適用です。ターゲットは名前付き環境なので、パイプラインはどのバージョンがどこにあるかを追跡します。
デプロイステージ周りのゲート
- buildとtestのステージがpassした後にのみ実行される。
- 多くの場合、保護されたbranchまたはtagに制限される。
- 実行前に手動承認を要求することがある。
- 通常、concurrencyを一度に1つのデプロイに制限する。
簡単な例
デプロイステージは、main でのみ実行される単一のデプロイjobを承認の背後に保持し、新しいイメージを本番にrolloutしてからデプロイ後チェックを実行します。
マルチ環境のデプロイステージ
より大きなパイプラインは複数のデプロイステージを持ちます。stagingへデプロイし、その後(チェックと承認の後)同じartifactを本番へデプロイします。各環境はリリースフローの中で自身のゲート付きステージです。
デプロイステージと復旧
デプロイステージには常に戻る道があるべきです。rollbackのjobとデプロイ後チェックと組み合わせ、悪いリリースが本番に居座るのではなく素早く検出され戻されるようにしましょう。
重要なポイント
- デプロイステージは、artifactを名前付き環境へリリースします。
- 承認やbranch制限などのゲートの背後で、最後に実行されます。
- デプロイ後チェックとrollbackの経路と組み合わせるべきです。
関連ガイド
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…
What Is a Rollback Job? Reverting a Bad DeployA rollback job restores the previous known-good version after a bad deploy, quickly returning the system to a…