Maven在部署时从Nexus返回工件哈希



我是Maven和Nexus的新手,在将Github Commits链接到Nexus工件时遇到了一个问题。

我需要能够将分支名称或提交ID映射到Nexus中构建的特定工件,因为我希望能够在代码存储库中为特定分支提取特定包。我们正在使用Jenkins作为我们的CI工具。

我目前的想法是:;一旦Maven将人工制品部署到Nexus,我们就可以用部署的人工制品的哈希标记Git-Commit。然后,通过使用哈希和项目名称查询Nexus API,我们可以获得工件的版本,并通过curl请求获取它。

我对这种方法有很多疑问,但目前最大的一个是:

使用Maven构建工件并将其部署到Nexus时,是否可以"返回"哈希返回"只是能够以某种方式获得它,并在稍后的构建过程中在curl请求中使用它。">

这种将Github提交映射到人工制品的方法有意义吗?

如果是的话,有人对哈希问题有什么想法吗?

感谢

您必须回答的第一个问题是部署SNAPSHOT还是发布版本。如果你正在部署一个发布版本,那么最简单的事情就是用你正在部署的版本标记你的回购。如果您使用的是maven版本控制:

<version>${revision}${sha1}${changelist}</version>

然后,您可以通过以下操作进行部署和标记:

export version=4.23.1.00
mvn deploy -Drevision=$version
git tag $version
git push origin $version

如果您正在使用SNAPSHOT,则这取决于您的CI设置,但Nexus上的最新SNAPSHOT应指给定分支上的最近提交。我们要做的一件事是为每个分支生成不同的工件id。(这实际上非常重要,因为你不想在同一个Nexus工件中从不同的分支生成SNAPSHOT。(

最新更新