Maven 和 JFROG 神器

Maven and JFROG artifactory

我正在使用 'mvn install' 命令,它使用 groupId、artifactID 和版本号将工件推送到 libs-release-local 下的 JFROG。

我的问题是:工件版本是1.2.1,它正在替换一个新的工件并删除旧的工件。我可以在 build_Number 下推送神器吗?

像 Jfrog 目标仓库中的 Ex:libs-release-local/groupIdname/artifactIdname/buildNumber/version(工件)?

输出应如下所示:如果内部版本号为 1,版本为 1.2.1。

libs-release-local 组名 artifactIdname 1个 1.2.1 .jar

正如您所暗示的,"Release" 工件在二进制存储库中应被视为不可变的,并且永远不会被覆盖。您所描述的内容似乎与 snapshot artifact model 完全吻合,因此您应该避免在这里重新发明轮子。

此外,Maven 在存储库布局方面的灵活性非常小,因此您不能像那样违反标准的 Maven 存储库布局。

您应该做的是实施快照版本控制。事实上,SNAPSHOT 版本控制模型已经包含内部版本号和表示部署时间的时间戳,作为工件部署路径的一部分,使每个部署(即构建)都是唯一的。最终结果是每个构建都被部署到一个唯一的路径,并且您的工件在开发阶段不会被覆盖。当您准备好从开发阶段过渡到发布阶段(即最终工件版本)时,您可以升级现有的快照版本(升级有时意味着将版本从快照更改为发布)或启动一个独特的发布构建代表最终产品,永远不应被覆盖。