Есть ли URL для последнего моментального снимка для артефакта в Artifactory? - программирование
Подтвердить что ты не робот

Есть ли URL для последнего моментального снимка для артефакта в Artifactory?

Я хотел бы сделать ссылку на последнюю версию моментального снимка артефакта в Artifactory. Если мы находимся на 1.0-SNAPSHOT, мне нужен URL-адрес, который загружает последнюю версию 1.0-SNAPSHOT JAR. Я могу найти последний артефакт, указав артефакт на нашем сервере http://hostname/artifactory/libs-snapshot/groupId/artifactId/1.0-SNAPSHOT/. Помимо проверки временных меток, я могу выяснить, какой из них будет последним, открыв maven-metadata.xml и сопоставляя метку метаданных/датуе/моментальный снимок и номер сборки с JAR в том же каталоге. Это может быть сценарий, но в идеале Artifactory уже имеет способ построить постоянную ссылку таким образом. Предоставляет ли Artifactory такой URL-адрес?

4b9b3361

Ответ 1

Выполнение обычного запроса для записи с artifactId-1.0-SNAPSHOT.jar в URL-адресе должно автоматически возвращать последний моментальный снимок. См. Документ здесь

Одна вещь: это база либо на последней дате создания, если не присутствует pom, или последнее создание pom, если они есть. Смешивание pom и non-pom может привести к странным результатам!

Ответ 2

Я пробовал использовать shell script, и это сработало для меня.

Шаг1. Получите зашифрованный пароль для своей учетной записи пользователя, нажав на имя пользователя или создав обычного пользователя. Перейдите к разделу безопасного пароля в следующей ссылке 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

Ваша папка foo.jar в tmp - это последняя версия. Если мы не дадим отметку времени, как указано выше, она загрузит последний артефакт в этой версии. Надеюсь, это поможет!

Ответ 3

Это может быть полезно:

Как загрузить последний артефакт из репозитория Artifactory?

Хотя в бесплатной версии Artifactory нет возможности permalink, ее можно легко создавать сценарии, как вы предлагаете. Я сделал быстрый script, чтобы сделать это в указанном вопросе.

Надеюсь, что это поможет.

Ответ 4

Другой переносимый вариант - использовать командную строку maven:

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