大三角帆的构建不会在现有标签的重新推送如最新标签上触发

问题描述

Spinnaker文档说,推送到Docker Registry将触发Spinnaker Build。

我们已将自动触发器配置为Docker注册(AWS ECR)

但是,我们使用的标签:latest

在文档中显示 Leave the Tag field blank. This will trigger on all new tags,but will not trigger on a re-push of an existing tag (like latest)

我想知道不重新部署相同标签的重新推送或推送原因是什么?

解决方法

将现有图像标签重新推送与Docker Registry的自动触发器一起使用不起作用的原因是部署的可重复性。

作为Spinnaker存储库的维护者,他们在关于问题的评论中提到:Spinnaker not triggering pipeline when new image is released to Docker registry

这是docker注册表触发器的预期行为,因为从同一标签进行部署是不可复制的。查看更多herehttps://github.com/spinnaker/spinnaker/issues/2037#issuecomment-392570341

DevOps的角度看问题。 大三角帆-和DevOps in general-喜欢所谓的“不变基础设施”。参考:在Spinnaker homepage上搜索“不可变”。我无法在Wikipedia上找到不可变的基础设施的定义。以下是代替不变的维基百科定义的一些参考资料,该参考资料可在Google上找到:

对于此问题,仅关注不可变基础结构的部署可再现性方面就足够了。 可变映像或可变标签(print(concat_data['% interest'][row])是可变标签)使部署的可重复性具有挑战性。 (现在就运行latest,几周后再看我的意思。)因此,可变标签与使部署具有可复制性,从而导致基础结构不可变以及通常的DevOps冲突。