Maven和JFROG神器

时间:2018-05-31 14:27:50

标签: maven jenkins maven-3 artifactory jfrog-cli

我正在使用&mvn install'它在libs-release-local下用groupId,artifactID和Version Number将工件推送到JFROG。

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

与Jfrog目标仓库中的Ex类似:libs-release-local / groupIdname / artifactIdname / buildNumber / version(artifact)?

输出应该是这样的:如果内部版本号为1且版本号为1.2.1。

库释放本地      groupIdname          artifactIdname               1                1.2.1                   的.jar

1 个答案:

答案 0 :(得分:3)

正如你暗示的那样,"发布"工件应该被认为是二进制存储库中的不可变的,永远不会被覆盖。你所描述的内容似乎恰好符合snapshot artifact model,所以你应该避免在这里重新发明轮子。

此外,Maven在存储库布局方面几乎没有灵活性,因此您不能违反标准的Maven存储库布局。

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