我需要一点帮助。标记泊坞窗图像的最佳选择是什么。我想制作bash脚本。是推荐还是有任何不同的解决方案?我想添加一种标记我的方法……
根据我的经验,使用内置编号标记图像作为图像“版本”的一部分并不是一个很好的做法。 如SemVer所述 ,版本号的第三部分是“补丁”,代表一个不间断的修复。
仅添加构建号作为补丁版本的问题在于,您不一定代表每个构建的补丁。例如,假设您正在进行修复(将作为修补程序版本发布)。但是,在第一次提交/推送到工作分支时,您没有正确修复。第一个构建已经是一个构建数字增量,其他任何其他开发人员推送到其他分支也是如此。这将取决于您的CI的设置方式。
如果你 需要 要设置内部版本号,那么您可以使用您的CI内部版本号(我认为所有CI解决方案都提供了这一点)并将它们作为semver中的第四个元素添加到您的标记中(例如: 2.4.1-2312 ,哪里 2312 是构建号码),一旦它被释放,你可以将标签碰到 2.4.2 。
2.4.1-2312
2312
2.4.2
如果您想要遵守docker常规做法,您还应该标记 2.4.2 如 2.4 , 2 和 latest ,如果你要发布它。
2.4
2
latest
我的最后建议是始终使用您正在构建的提交的完整SHA标记图像,因为没有更简单的方法将图像匹配到您的代码库中的某个时间点。