每个版本的流水线实例数

当您调用 Cloud Deploy 来创建要由交付流水线管理的新版本时,流水线和目标将以该版本的当前状态保留。您仍然可以修改交付流水线和目标定义文件,但所做的更改仅影响未来的版本。

Cloud Deploy 为何执行此操作?

为了确保版本可靠且耐用,交付流水线及其关联资源会在创建版本时保留。此保留可以避免最近对交付流水线定义所做的更改影响版本,导致生成的清单无法适应。

这一点为什么非常重要?

如果在创建版本后更改交付流水线,则 Cloud Deploy 会根据之前的流水线定义(与创建版本时一样)而不是新定义来交付版本。除非您或组织中的其他人期望该版本遵循更新后的流水线行为,否则不会出现这种行为。

这一点什么时候很重要?

  • 当您提升 release

    首次创建版本时,Cloud Deploy 截取了流水线的快照。该快照(流水线实例)是控制该 release 的部署周期的流水线版本。

    如果有人修改了流水线,而您将版本提升到下一个目标,则 Cloud Deploy 会显示一条警告,通知您部署的行为可能不符合预期。您可以通过确认或取消提升来做出响应。

  gcloud deploy releases promote 
      …
      WARNING: The delivery pipeline was modified since  was created.
      This release will promote based on the state of the delivery pipeline at the
      time of release creation.
      It will not be rolled out to the pipeline in its current state.
      Promoting will result in .
      Learn more at: https://cloud.google.com/deploy/docs/pipeline-instances
      Are you sure you want to promote  to ? Y/n

如果确认要继续,则版本将提升到预期的目标集群,并且根据在创建 release 时的定义配置了该目标。也就是说,对目标的更改不会影响该 release

  • 当您批准 rollout

    与升级一样,如果您批准了 rollout,但与版本关联的流水线实例与当前流水线定义不匹配,Cloud Deploy 会显示一条消息,告诉您有关不匹配的情况。您可以确认或取消批准。

  • 当您回滚 release 时。

    如果交付流水线或目标在 rollout 后发生更改,并且您尝试回滚,则会出现流水线不匹配。Cloud Deploy 会提示您确认是否确定要回滚。在这种情况下,我们强烈建议您在回滚之前检查对交付流水线或目标的更改。