Есть ли какой-либо автоматический способ вернуть URL-адрес загрузки артефакта из артефакта?

Есть ли какой-нибудь автоматический способ вернуть URL-адрес загрузки артефакта?

Я работаю с проектами maven, использую бамбук для автоматизации сборки.

После успешного завершения сборки артефакты будут отправлены в артефактор Jfrog.

Мое требование здесь - вернуть URL-адрес загрузки артефакта в автоматическом режиме (с использованием bamboo Plugins, Rest API, Jfrog CLI, Maven или любого другого).


person san web    schedule 01.11.2018    source источник
comment
Вероятно, вы могли бы выполнить поиск.   -  person DarthFennec    schedule 01.11.2018
comment
@ DarthFennec, Спасибо за ответ, есть какой-нибудь скрипт, который нужен для получения URL загрузки артефакта? с помощью поиска я вижу, что могу получить репо, путь, даты создания артефактов, рекламные акции, статус, пользователей, но не URL-адрес. Оцените ваш ответ   -  person san web    schedule 05.11.2018
comment
Вы просто смотрите на поиск AQL, но эта ссылка ведет на весь раздел конечных точек поиска (большая часть остальных дает вам URL-адрес для загрузки). Вы можете выбрать один из них в зависимости от того, какая информация об артефакте у вас уже есть: например, быстрый поиск или поиск по шаблону, если у вас есть часть имени файла или пути, поиск GAVC, если у вас есть координаты Maven, поиск свойств или контрольной суммы, если у вас есть эту информацию или поиск сборки, если у вас есть имя и номер сборки. Все они должны давать вам URL-адреса для скачивания.   -  person DarthFennec    schedule 05.11.2018
comment
@DarthFennec Спасибо за ответ. Похоже, поиск GAVC будет достаточным для моих нужд. Поиск GAVC, поскольку у меня есть координаты Maven: GroupId, ArtifactId, Version Не могли бы вы помочь мне с шагами по использованию поиска GAVC, прямо сейчас у меня есть доступ администратора к экземпляру artifactory, и я не знаю, как и где начать поиск GAVC, поскольку я довольно новичок в материалах REST API. Я очень ценю ваше время.   -  person san web    schedule 05.11.2018
comment
Что ж, я мало что знаю о Bamboo, но из того, что я читаю, похоже, что он использует сценарии bash или batch / powershell (в зависимости от вашей платформы) для сценариев сборки. Я полагаю, это среда, в которой вы работаете? В этом случае вы, вероятно, захотите использовать команду curl для вызова API (curl -u username:password -X GET "http://host/artifactory/api/search/gavc?g=group&a=artifact&v=version&c=class&repos=repo" или что-то в этом роде). Это даст вам JSON, который вы можете проанализировать, используя jq (если доступно) или sed или что-то в этом роде. Однако у Bamboo может быть лучший способ, о котором я не знаю.   -  person DarthFennec    schedule 05.11.2018
comment
@DarthFennec Спасибо за ваше время, похоже, работает. Буду обновлять комментарии по мере работы   -  person san web    schedule 06.11.2018


Ответы (2)


Вы можете использовать поиск артефактов сборки REST Конечная точка API. Вам нужно будет отправить имя сборки + номер в JSON, Artifactory вернет URI загрузки для артефактов сборки.

person Mohammad Tibi    schedule 05.11.2018
comment
Спасибо за ответ, но, похоже, для использования поиска артефактов сборки мне нужен Artifactory Pro? Но у меня просто обычная артефакторная, а не профессиональная версия. Вы можете предложить какое-нибудь другое решение? - person san web; 05.11.2018

Я использовал jenkins с artifactory, и при каждой успешной сборке buildinfo.json публикуется в artifactory. buildinfo json - это файл метаданных. Вы можете сдать сборку нет. вы получаете синтаксический анализ buildinfo json на предмет URL загрузки артефактов.

Стоит попробовать, так как вы используете версию с открытым исходным кодом.

person error404    schedule 30.01.2019