【问题标题】:Can spinnaker prevent out-of-order deployments?Spinnaker 可以防止无序部署吗?
【发布时间】:2018-09-09 14:27:30
【问题描述】:

目前

当新 PR 合并到 master 时,我们使用 CI 平台来构建、测试和发布新代码。 “发布”步骤非常简单/愚蠢,基本上运行 kubectl patch 并带有新推送的 docker 镜像的标签。

问题

当两个 PR 几乎同时合并时(例如:A,然后 B -- B 包括 A 的提交,反之则不然),可能会发生 B首先完成它的构建/测试,然后首先开始它的发布步骤。发生这种情况时,A 会发布第二个版本,即使它有较旧的代码。结果是B 的代码已被As 部署有效回滚的稳定状态。

我们希望尽可能地保持 CI/CD 的连续性,理想情况下没有:

  • 序列化我们的 CI 管道(以便一次只运行一个工作流)
  • 延迟/批处理我们的部署

Spinnaker 是否有解决此问题的功能或最佳实践?

【问题讨论】:

    标签: spinnaker


    【解决方案1】:

    异步系统的消息排序中广泛描述了针对您的问题的最佳做法。最简单的解决方案是为您的 CI/CD 管道实施 FIFO 原则。 它将使您免于在 CI 和 CD 部分之间实施检查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-30
      • 1970-01-01
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多