0

我有一个包含多个微服务的伞形 Helm 图表,我需要分别更新这些微服务。我可以手动完成,只需更改每个子图表上的 docker 标签并在整个图表中执行 helm update。但我正在尝试使用 Azure Pipelines 自动执行此操作。

我对每个微服务都有 CI/CD,每个微服务都会生成一个 docker 标签和推送到 Azure Container Registries 的 docker 映像。

通过 CD,可以使用 docker 标签,并且可以从 az 管道上可用的 Helm 步骤对其进行更新。

当我有两个或多个像上面这样的 CI/CD 管道时会出现问题,因为当他们使用可用于正在部署的特定微服务的标签升级图表时,所有其他微服务标签都不在远程版本控制,所以它更新了正在部署的微服务,但所有其他标签在部署时没有推送到远程版本控制,所以其他微服务得到错误的 docker 标签版本。

所以我很困惑如何解决它。每个微服务 CD 管道是否应该将正在部署的版本推送到远程版本控制?如果是这样,怎么做?我发现这条路很难走,但我看不到其他选择。

我找到的有关 Azure Pipelines 的所有文档都没有涵盖这种复杂的场景。

4

0 回答 0