我正试图找到一种方法来确保相同组件的构建号是唯一的,并且似乎唯一真正适合获得下一个构建号的地方是工件存储库(在我的情况下是Artifactory)。
如果有人想知道为什么我不使用构建系统的构建号,那是因为我有由不同构建系统并行构建的组件,并且每个组件都可以被允许上传工件。
显然,我不想引入新的build-number-server依赖关系,我缩进使用目标来确保我有一个正确的(唯一的)构建号。
使用SCM作为构建号是不好的,因为像分叉和分支这样的事情。
更新:似乎如果我尝试PUT
a的建筑。在Artifactory上使用相同构建号的json,服务器返回一个带有消息Could not insert build Build{...}
的500错误代码。
目前看来这是不可能的,因为你只能发布一次构建信息,这意味着即使你能弄清楚哪个构建号应该是下一个,你也不能保留它,直到你完成构建。
https://www.jfrog.com/jira/browse/RTFACT-7676请求在构建中除了PUT之外还允许POST,因此我们可以修改它们(首先将其作为未完成的发布,并在构建过程完成后更新它)。