我正在使用Jenkins CI(单个管道作业)将不同的文件推送到JFrog Artifactory。
对于每个构建,我将构建信息发布到Artifactory。但每个版本都有相同的模块ID。
例如:在Artifactory Repository Browser中选择任何工件然后转到Build选项卡,然后它显示所有构建而不是相应的工件构建信息
所以我想知道在将工件信息发布到Artifactory时如何修改工件模块ID
答案 0 :(得分:1)
构建信息和工件存储是针对不同的机制。构建信息仅与工件相关联,因为您可以定义从构建生成哪些工件以及哪些工件是构建的依赖项。模块ID与构建信息无关。模块ID由存储工件的存储库布局定义。请参阅此处的jfrog文档:https://www.jfrog.com/confluence/display/RTF/Repository+Layouts
您无法更改模块ID。 Artifactory根据存储库布局分配模块ID。这意味着工件的路径对于定义模块ID很重要。 例如,存储库布局
[org] / [module] / [module] _ [base_rev]。[ext]将模块ID提供给该模式之后存储的任何工件[org]:[module]:[base_rev]。
工件通过工件上的build.name,build.number属性和从.json文件发布构建信息与构建相关联。 .json必须包含一个部分,表示从构建中生成的工件。
通常,您需要确保在设置build.name和build.number属性的情况下将每个工件部署到artifactory中的唯一路径。另一件要看的是文件哈希。它必须匹配正在发布的构建信息。因此,如果文件散列不相同,则意味着上一个构建中的工件没有变化。
我不知道这会有多大帮助,但是有很多细微差别可以让工件和构件排成一行。您提到使用Jenkins,您是否考虑过使用Jenkins Artifactory插件。虽然我们使用Bamboo,但它应该为你完成很多这方面的工作,所以我不太熟悉它的不同之处。