카나리아 배포는 애플리케이션이 점진적으로 배포되는 것으로서, 처음에 인프라의 일부에 배포되고 추가로 출시되기 전에 테스트할 수 있습니다. 카나리아 배포는 버그의 영향을 받을 가능성이 있는 사용자 수를 줄여 변경사항을 도입할 위험을 줄입니다.
예를 들어 Cloud Run으로 50% 카나리아 배포를 사용하면 트래픽 중 절반이 새 버전으로 전달되고 절반은 이전 버전으로 전달됩니다. 안정성을 보장하기 위해 테스트 한 후에는 출시를 100%로 진전시킵니다. Cloud Deploy를 사용하면 20.5%와 같은 부분 백분율을 제외하고 모든 백분율의 진행률을 지정할 수 있습니다.
두 배포 전략 모두 Cloud Deploy에서 지원하는 모든 런타임 환경을 지원합니다. 또한 모든 배포 전략에서는 롤백, 출시 취소, 동시에 2개 이상의 대상에 배포(동시 배포)를 지원합니다.
단계를 건너뛰는 이유
카나리아는 애플리케이션의 기존 버전에서 실행되며(해당 버전을 점진적으로 대체함) Cloud Deploy에서 인식할 수 있는 버전이 아직 배포되지 않은 경우 카나리아 전략을 실행할 수 없습니다.
즉, 애플리케이션을 특정 대상에 처음 배포하고 카나리아 배포 전략을 사용하는 경우 출시에서 카나리아 단계를 건너뛸 수 있습니다. 이 경우 Cloud Deploy가 안정화 단계로 건너뛰고 출시 진행을 클릭하여 stable 단계를 시작하면 애플리케이션이 해당 타겟에 완전히 배포되며 이제 다음 변경사항으로 이 타겟에 대해 카나리아를 실행할 수 있습니다. 출시 진행을 클릭하면 이 배포에 적용되지 않는 카나리아 단계를 건너뛴 것을 확인한 것으로 간주됩니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-03(UTC)"],[[["\u003cp\u003eCloud Deploy offers two main deployment strategies: standard deployment, which deploys an application without progressive rollout, and canary deployment, which progressively rolls out the application to reduce risk.\u003c/p\u003e\n"],["\u003cp\u003eStandard deployment allows for easy rollbacks, deployment verification, and simultaneous deployment to multiple targets, but does not perform deployments progressively.\u003c/p\u003e\n"],["\u003cp\u003eCanary deployments reduce the risk of introducing changes by initially deploying to a subset of the infrastructure for testing before a full rollout.\u003c/p\u003e\n"],["\u003cp\u003eCloud Deploy's canary strategy may skip phases if no prior version of the application is deployed, which then proceeds directly to the stable phase.\u003c/p\u003e\n"],["\u003cp\u003eBoth standard and canary strategies support all runtime environments supported by Cloud Deploy and can be used with parallel deployment to multiple targets simultaneously.\u003c/p\u003e\n"]]],[],null,["# Use a deployment strategy\n\nCloud Deploy supports deployment strategies. A deployment strategy is any of\nseveral techniques for deploying changes to your application while minimizing\nimpact to users.\n\nWhat deployment strategies does Cloud Deploy support?\n-----------------------------------------------------\n\nCloud Deploy supports the following deployment strategies:\n\n- [Standard deployment](/deploy/docs/deploying-application)\n\n The standard deployment strategy simply deploys an application to a target\n runtime or runtimes. The deployment is not performed progressively, and there\n is no splitting between the old and new versions of your application.\n\n With a standard deployment, you can easily roll back your release, you can\n verify your deployment, and you can deploy to more than one target at the same\n time.\n- [Canary deployment](/deploy/docs/deployment-strategies/canary)\n\n A canary deployment is a progressive deployment of your application, such\n that your app is deployed at first to a portion of your infrastructure and can\n be tested there before being rolled out further. A canary deployment reduces\n the risk of introducing changes by reducing the number of users likely to be\n affected by a bug.\n\n For example, with a 50% canary deployment to Cloud Run, half the\n traffic would be directed to the new revision, with half of it still directed\n to the old revision. After testing to help ensure stability, you would advance\n the rollout to 100%. With Cloud Deploy, you can specify any\n progression of percentages (except partial percentages, like 20.5%).\n\nBoth of these deployment strategies support all of the runtime environments that\nCloud Deploy supports. Also, all deployment strategies support\n[rolling back](/deploy/docs/roll-back),\n[canceling rollouts](/deploy/docs/deployment-strategies/manage-rollout#cancel_rollout),\nand deploying to more than one target at the same time\n([parallel deployment](/deploy/docs/parallel)).\n\nWhy phases are sometimes skipped\n--------------------------------\n\nBecause a canary runs against an existing version of an application\n(progressively replacing that version), the canary strategy can't be performed\nif there's no version deployed yet that Cloud Deploy can recognize.\n\nThis means that if you deploy an application for the first time to a given\ntarget, and you use a canary deployment strategy, the rollout might skip the\ncanary phase or phases. In this case, after Cloud Deploy skips to\nthe stable phase, and you click **Advance Rollout** to initiate the `stable`\nphase, the application gets deployed fully to that target, and you can\nnow run a canary against it with your next set of changes. Clicking **Advance\nRollout** constitutes an acknowledgement that we've skipped the canary phases\nthat were not applicable for this deployment.\n\n### Use parallel deployment with a deployment strategy\n\nYou can use a deployment strategy and still\n[deploy to more than one target at the same time](/deploy/docs/parallel).\n\nSee [Using parallel deployment with a canary deployment strategy](/deploy/docs/deployment-strategies/canary#parallel_canary)\nto find out how to do this with canary.\n\nWhat's next\n-----------\n\n- Try the quickstart: [Canary deploy an application to a target](/deploy/docs/deploy-app-canary)\n\n- Learn how to use the [canary deployment strategy](/deploy/docs/deployment-strategies/canary)\n\n- Find out how to [manage the lifecycle of your canary's rollouts](/deploy/docs/deployment-strategies/manage-rollout)."]]