我试图找到一种方法来确保相同组件的构建号是唯一的,似乎唯一真正适合获得下一个构建号的地方就是工件存储库(在我的案例中为Artifactory)。
如果有人想知道我为什么不使用构建系统中的构建号,那是因为我有不同构建系统并行构建的组件,并且可以允许每个组件上传文件。
显然我不想引入一个新的构建号码服务器依赖项我会缩进以使用目标来确保我有一个正确的(唯一的)构建号。
使用SCM进行内部版本编号并不好,因为有些东西比如forks和branches。
更新:似乎如果我尝试使用Artifactory上的相同内部版本编号的qInqswpoi构建编号,服务器将返回500错误代码并带有消息PUT
。
现在看来这是不可能的,因为你只能发布一次构建信息,这意味着即使你可以找出接下来应该是哪个构建号,你也不能保留它直到你完成构建。
除了PUT之外,Could not insert build Build{...}
还要求允许POST,因此我们可以修改它们(首先将它发布为不完整的,并在构建过程完成后再更新)。