Stay organized with collections
Save and categorize content based on your preferences.
When you invoke Cloud Deploy to create a new release to be managed by your
delivery pipeline, the pipeline and targets are preserved in their current state
for that release. You can still edit your delivery pipeline and target
definition files, but the changes that you make affect future releases only.
Why does Cloud Deploy do this?
To keep your releases reliable and durable, the delivery pipeline and its
associated resources are preserved at the time the release is created. This
preservation prevents recent changes to the delivery pipeline definition from
affecting the release in ways the generated manifests might not be able to
accommodate.
Why does this matter?
When a delivery pipeline is changed after your release is created,
Cloud Deploy delivers the release according to the previous pipeline definition (as it was when the release was created) not the new definition. This
behavior isn't a problem unless you, or someone else in your organization,
expects the release to follow the updated pipeline behavior.
When does this matter?
When you promote a release
When the release was first created, Cloud Deploy took a snapshot
of the pipeline. That snapshot—the pipeline instance—is the
version of the pipeline that controls the deployment cycle of that release.
If anyone does edit the pipeline, and then you promote the release to the
next target, Cloud Deploy displays a warning informing you that
the deployment might not behave as you expect. You can respond by confirming
the promotion or canceling it.
gcloud deploy releases promote
…
The pipeline or targets were cached when the release was created, but the source
has changed since then. You should review the differences before proceeding.
Promoting release xxxx-release-00n to target xxx.
Do you want to continue (Y/n)?
If you confirm that you want to continue, then the release is promoted to
the intended target cluster, with that target configured as defined when you
created the release. That is, changes to the target do not affect that
release.
When you approve a rollout
As with promotion, if you approve a rollout and there's a mismatch between
the pipeline instance associated with the release, and the current pipeline
definition, Cloud Deploy displays a message telling you about the
mismatch. You can confirm or cancel the approval.
When you roll back a release.
If a delivery pipeline or target is changed after a rollout, and you try to
roll back, there will be a pipeline mismatch. Cloud Deploy will
prompt you to confirm you really want to roll back. In this case, we strongly
recommend you examine the change to the delivery pipeline or target before
rolling back.
What you can do
If you change a delivery pipeline, or any of its targets, after a release is
created, you can do the following:
Let the original pipeline continue executing, without any of the changes from
the edited pipeline.
The changes in the pipeline don't affect the rest of the release.
Create a new release.
The new release uses the new, edited delivery pipeline, and starts again with
the first target in your delivery pipeline progression.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eCloud Deploy preserves the delivery pipeline and target configurations at the time a release is created to ensure reliability and prevent unintended consequences from subsequent changes.\u003c/p\u003e\n"],["\u003cp\u003eChanges to the delivery pipeline or target definitions after a release is created will only affect future releases, not the existing one.\u003c/p\u003e\n"],["\u003cp\u003eWhen promoting, approving, or rolling back a release, Cloud Deploy checks for mismatches between the stored pipeline instance and the current pipeline definition, warning the user if discrepancies exist.\u003c/p\u003e\n"],["\u003cp\u003eIf there is a mismatch, the user will be prompted to confirm or cancel the action to either proceed or stop.\u003c/p\u003e\n"]]],[],null,["# Pipeline instances per release\n\nWhen you invoke Cloud Deploy to create a new release to be managed by your\ndelivery pipeline, the pipeline and targets are preserved in their current state\nfor that release. You can still edit your delivery pipeline and target\ndefinition files, but the changes that you make affect future releases only.\n| **Note:** In addition to storing the pipeline instance with the release, Cloud Deploy also stores the execution environment, as [defined with the target](/deploy/docs/config-files#target_definitions).\n\nWhy does Cloud Deploy do this?\n------------------------------\n\nTo keep your releases reliable and durable, the delivery pipeline and its\nassociated resources are preserved at the time the release is created. This\npreservation prevents recent changes to the delivery pipeline definition from\naffecting the release in ways the generated manifests might not be able to\naccommodate.\n\nWhy does this matter?\n---------------------\n\nWhen a delivery pipeline is changed after your release is created,\nCloud Deploy delivers the release according to the previous pipeline definition (as it was when the release was created) not the new definition. This\nbehavior isn't a problem unless you, or someone else in your organization,\nexpects the release to follow the updated pipeline behavior.\n\nWhen does this matter?\n----------------------\n\n- When you promote a `release`\n\n When the release was first created, Cloud Deploy took a snapshot\n of the pipeline. That snapshot---the *pipeline instance* ---is the\n version of the pipeline that controls the deployment cycle of that `release`.\n\n If anyone *does* edit the pipeline, and then you promote the release to the\n next target, Cloud Deploy displays a warning informing you that\n the deployment might not behave as you expect. You can respond by confirming\n the promotion or canceling it.\n\n```\n gcloud deploy releases promote \n ...\nThe pipeline or targets were cached when the release was created, but the source\nhas changed since then. You should review the differences before proceeding.\n\nPromoting release xxxx-release-00n to target xxx.\n\nDo you want to continue (Y/n)?\n\n```\n\nIf you confirm that you want to continue, then the release is promoted to\nthe intended target cluster, with that target configured as defined when you\ncreated the `release`. That is, changes to the target do not affect that\n`release`.\n\n- When you approve a `rollout`\n\n As with promotion, if you approve a `rollout` and there's a mismatch between\n the pipeline instance associated with the release, and the current pipeline\n definition, Cloud Deploy displays a message telling you about the\n mismatch. You can confirm or cancel the approval.\n- When you roll back a `release`.\n\n If a delivery pipeline or target is changed after a `rollout`, and you try to\n roll back, there will be a pipeline mismatch. Cloud Deploy will\n prompt you to confirm you really want to roll back. In this case, we strongly\n recommend you examine the change to the delivery pipeline or target before\n rolling back.\n\nWhat you can do\n---------------\n\nIf you change a delivery pipeline, or any of its targets, after a release is\ncreated, you can do the following:\n\n- Let the original pipeline continue executing, without any of the changes from\n the edited pipeline.\n\n The changes in the pipeline don't affect the rest of the release.\n- Create a new release.\n\n The new release uses the new, edited delivery pipeline, and starts again with\n the first target in your delivery pipeline progression."]]