当前位置: 首页 > 知识库问答 >
问题:

如何更新项目生成模块 ID

皮献
2023-03-14

我使用Jenkins CI(单管道作业)将不同的文件推送到JFrog Artifactory。

对于每个构建,我都会将构建信息发布到 Artifactory。但每个构建都有相同的模块 ID。

例如:在工件存储库浏览器中选择任何工件,然后转到构建选项卡,然后它显示所有构建而不是相应的工件构建信息

所以我想知道如何在将工件信息发布到工件工厂的同时修改工件模块 ID

共有1个答案

松智勇
2023-03-14

生成信息和项目存储采用不同的机制。生成信息仅与项目相关联,因为您可以定义从生成生成哪些项目以及哪些项目是生成的依赖项。模块 ID 与生成信息没有关联。模块 ID 由存储工件的存储库布局定义。在此处查看 jfrog 文档:https://www.jfrog.com/confluence/display/RTF/Repository 布局

您无法更改模块ID。Artifactory根据存储库布局分配模块ID。这意味着工件的路径对于定义模块ID很重要。例如,存储库布局

[组织]/[模块]/[模块]_[基础_修订]。[ext]将按照[org]:[module]:[base_rev]的模式为任何存储的工件提供模块id。

工件通过工件上的build.name、build.number属性与构建相关联,并通过. json文件发布构建信息。的。json必须包含一个部分,指明构建中产生了什么工件。

一般来说,听起来您需要确保每个工件都被部署到一个唯一的路径,并设置了build.name和build.number属性。另一件要看的事情是文件哈希。它必须在正在发布的构建信息中匹配。因此,如果文件哈希没有不同,这意味着与之前的构建相比,工件没有变化。

我不知道这会有多大帮助,但是在让工件和构建排队时有很多细微差别。你提到使用Jenkins,你考虑过使用Jenkins艺术工厂插件吗?它应该会为你处理很多工作,尽管我们使用竹子,所以我不太熟悉它的不同之处。

 类似资料:
  • 我有一个“移动”模块,它依赖于一个“核心”模块,我不断收到相同的不一致错误: 移动/构建。格拉德尔: 核心/build.gradle: 每当我将我的变体设置为mobiledebug-core-debug时,我仍然会在我的核心中获得相同的输出。我的申请。java文件:'https://core.release':

  • 情况是,我有两个结构相同的Maven多模块项目: 当我构建项目1时,我看到首先构建的是parent(顺序是parent->module1->module2)。然而,对于项目2,最终生成父级(顺序为module1->module2->parent)。为什么两个项目的建造订单不同?此外,如何手动控制生成顺序? 更新1: 两个父项目都是简单的POM项目,没有源代码,所以我无法按照依赖关系图解释构建顺序。

  • 我知道我们可以通过使用mvn-f modulename/pom.xml dependency:tree命令获得特定的模块依赖树 是否有一种方法只使用特定模块的groupId、artifactId和version生成依赖树。

  • 我对Java没有太多的经验,特别是多模块项目,所以我不能从多模块项目中创建数据流模板。 要从Dataflow模板生成模板,必须使用如下内容: 这对我来说在一个简单的Java项目中工作得很好,但目前我需要在一个具有以下简化结构的项目中使用以下内容: 我已执行mvn包,没有任何错误,输出如下: 我有以下错误: 如果我从根目录执行它: 我还试着用: 我应该执行哪个命令来构建模板? 主pom.xml文件

  • 我猜自动模块: http://openjdk.java.net/projects/jigsaw/spec/sotms/#automatic-模块 意味着需要第三方jar的项目的每个模块都必须将该jar打包到自己的模块化jar中。如果是这样的话,那么一个大型多模块应用程序最终是否会比其基于类路径的Java 8应用程序更大呢?我想到了所有几乎无处不在的apache库和其他常见的开源依赖项。 我在未来获

  • 我想用编写一些Java代码。