我想在Artifactory中制作一个工件的最新快照版本的永久链接。如果我们使用1.0-SNAPSHOT,我想要一个下载最新1.0-SNAPSHOT JAR的URL。我可以通过在http://hostname/artifactory/libs-snapshot/groupId/artifactId/1.0-SNAPSHOT/
的服务器上找到工件来找到最新的工件。除了检查时间戳之外,我可以通过打开maven-metadata.xml并在同一目录中打开带有JAR的元数据/版本控制/快照时间戳和buildNumber来确定哪一个是最新的。这可以编写脚本,但理想情况下Artifactory已经有办法以这种方式构造永久链接。 Artifactory是否提供这样的URL?
答案 0 :(得分:5)
对URL名称中具有artifactId-1.0-SNAPSHOT.jar的条目执行常规查询应自动返回最新快照。 请参阅文档here
有一件事:如果没有pom,那么这是基于最新创建日期的基础,或者如果有pom,则基于最新创建的pom。混合pom和非pom部署可能会导致奇怪的结果!
答案 1 :(得分:2)
我尝试使用shell脚本,它对我有用。
Step1 :点击用户名或创建普通用户,为您的用户帐户获取加密密码。请转到以下链接中的安全密码部分 http://www.jfrog.com/confluence/display/RTF/Centrally+Secure+Passwords
第2步:在本地计算机上创建一个临时文件夹并输入此curl(可能是wget for windows)命令:
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是最新版本。如果我们不像上面那样给出时间戳,它将下载该版本中的最新工件。希望这有帮助!
答案 2 :(得分:0)
这可能会有所帮助:
How to download the latest artifact from Artifactory repository?
虽然Artifactory的免费版本中没有永久链接功能,但可以按照您的建议轻松编写脚本。我在提到的问题中提供了一个快速脚本。
希望它有所帮助。
答案 3 :(得分:0)
另一个可移植的选项是使用maven命令行:
mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get -DartifactId=[artifactId] -DgroupId=[groupId] -Dversion=[version] -Ddest=[dest file]
答案 4 :(得分:0)
这对我有用(没有搜索 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 快照。