【问题标题】:Maven and JFROG artifactoryMaven 和 JFROG 神器
【发布时间】:2018-05-31 14:27:49
【问题描述】:

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

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

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

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

libs-release-local 组名 工件名称 1 1.2.1 .jar

【问题讨论】:

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


    【解决方案1】:

    正如您所暗示的,“发布”工件在二进制存储库中应该被认为是不可变的,并且永远不会被覆盖。您所描述的似乎恰好适合 snapshot artifact model,因此您应该避免在这里重新发明轮子。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-08
      • 1970-01-01
      • 2022-11-04
      • 1970-01-01
      • 2016-01-10
      • 2017-01-22
      • 1970-01-01
      • 2018-06-10
      相关资源
      最近更新 更多