【问题标题】:Is there a URL for the latest snapshot for an artifact in Artifactory?Artifactory 中是否有最新快照的 URL?
【发布时间】:2013-07-10 00:46:21
【问题描述】:

我想永久链接到 Artifactory 中工件的最新快照版本。如果我们使用 1.0-SNAPSHOT,我想要一个下载最新 1.0-SNAPSHOT JAR 的 URL。我可以通过在我们的服务器上找到最新的工件http://hostname/artifactory/libs-snapshot/groupId/artifactId/1.0-SNAPSHOT/。除了检查时间戳之外,我还可以通过打开 maven-metadata.xml 并将 metadata/versioning/snapshot 时间戳和 buildNumber 与同一目录中的 JAR 匹配来确定哪个是最新的。这可以编写脚本,但理想情况下,Artifactory 已经有办法以这种方式构建永久链接。 Artifactory 是否提供这样的 URL?

【问题讨论】:

  • 本有过解决方案吗?
  • @RoyTruelove 不,我从来没有找到可行的解决方案。我已经切换了项目,所以这不再是我的问题了。

标签: artifactory


【解决方案1】:

对 URL 名称中带有 artifactId-1.0-SNAPSHOT.jar 的条目进行正常查询应该会自动返回最新的快照。 请参阅文档here

有一件事:如果没有 pom,则基于最新创建日期,或者如果有 pom,则基于最新创建的 pom。混合使用 pom 和非 pom 部署可能会导致奇怪的结果!

【讨论】:

  • 感谢您链接到文档。我已经尝试过您的解决方案,但我的 Artifactory 实例返回 404。
  • 来自页面: 注意:需要 Artifactory Pro。啊。
【解决方案2】:

我尝试使用 shell 脚本,它对我有用。

第一步:通过点击用户名或创建普通用户来获取您的用户帐户的加密密码。转到以下链接中的使用您的安全密码部分 http://www.jfrog.com/confluence/display/RTF/Centrally+Secure+Passwords

第 2 步:在您的本地计算机上创建一个临时文件夹并输入此 curl(对于 windows 可能是 wget)命令:

curl -o tmp/foo.jar --user <username>:<encrypted_password> <artifactory_url>/list/libs-snapshot-local/com/search/foo/1.0/foo-1.0-SNAPSHOT.JAR

您在 tmp 文件夹中的 foo.jar 是最新版本。如果我们没有像上面那样给出时间戳,它将下载该版本中的最新工件。希望这会有所帮助!

【讨论】:

  • 这仅适用于 Artifactory Pro,但如果你有它,我的关键是 URL 中的 /list/
【解决方案3】:

这可能会有所帮助:

How to download the latest artifact from Artifactory repository?

虽然 Artifactory 的免费版本没有永久链接功能,但可以按照您的建议轻松编写脚本。我在引用的问题中提供了一个快速脚本来执行此操作。

希望对你有帮助。

【讨论】:

    【解决方案4】:

    另一个可移植选项是使用 maven 命令行:

    mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get -DartifactId=[artifactId] -DgroupId=[groupId] -Dversion=[version] -Ddest=[dest file]

    【讨论】:

      【解决方案5】:

      这对我有用(没有搜索 API,只有直接的工件 URL):

      curl -O -J --user <username>:<encrypted_password> http://hostname/artifactory/libs-snapshot/groupId/artifactId/1.0-SNAPSHOT/artifactId-1.0-SNAPSHOT.jar
      

      基本上在工件名称中使用 1.0-SNAPSHOT 会下载最新版本的 1.0-SNAPSHOT 快照。

      【讨论】:

        猜你喜欢
        • 2015-02-14
        • 2013-07-29
        • 2018-05-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多