Невозможно загрузить артефакты моментальных снимков с помощью curl с bintray.com

Я автоматизирую процесс развертывания проекта, и одна из вещей, с которыми я борюсь, - это загрузить из Bintray последнюю версию моментального снимка данного артефакта maven. В этой https://bintray.com/docs/api/#_dynamic_download документации указано, что вы должны используйте переменную $latest, но все попытки дали мне ошибку 404. Ниже приведен образец завитка

curl -v -H 'X-Bintray-Package: main' -utmoreira2020:mytoken 'https://bintray.com/content/liferay/myrepo/com/liferay/myproject/distribution/$latest/distribution-$latest.lpkg'

заранее спасибо


person Thiago Leão Moreira    schedule 11.03.2016    source источник


Ответы (1)


Пара вещей, которые могут пойти не так:

  1. Динамический контент доступен только для пакета Pro (т. е. в репозитории, принадлежащем пользователю Pro или организации Pro).
  2. Curl рассматривает $ как специальный символ, вам нужно экранировать его с помощью \. Вот пример: curl -u jbaruch -L "https://api.bintray.com/content/jfrog-int/iot-generic-distribution/firmare-\$latest.bin?bt_package=arduino-jfrog-firmware"
  3. Вы пытаетесь загрузить уникальный снимок Maven. Это не сработает, потому что версия в пути называется SNAPSHOT, а версия в имени файла — это метка времени сборки. Возможно, вам понадобится что-то вроде токена [SNAPSHOT] от Aritfactory, но этого не произойдет, потому что Bintray — это сервис для распространения релизов, а не моментальных снимков времени разработки (используйте Artifactory).
person JBaruch    schedule 11.03.2016
comment
У меня есть план Silver в моей организации по этому адресу в первом пункте. Для второго элемента я заключаю URL-адрес в одинарные кавычки, а curl -v показывает, что $latest правильный. Я также пробовал кодировать $latest с %24latest, и результат тот же. - person Thiago Leão Moreira; 11.03.2016
comment
у вас есть пример, который работает? Тот, который использует curl для загрузки последнего снимка maven? - person Thiago Leão Moreira; 11.03.2016
comment
кодировка должна быть просто \$. Я добавил пример. - person JBaruch; 11.03.2016
comment
Я тестировал выпущенную версию, и она отлично работает. Проблема в том, что когда вы пытаетесь загрузить версию Maven SNAPSHOT, почему? Поскольку переменная $latest отличается в двух позициях URL-адреса. Путь Maven SNAPSHOT имеет следующий формат: com/liferay/myproject/distribution/1.0.0-SNAPHSOT/distribution-1.0.0-20160310.204308-2.lpkg, поэтому переменная $latest должна иметь два разных значения. Я даже пробовал с путем com/liferay/myproject/distribution/1.0.0-SNAPHSOT/distribution-1.0.0-SNAPSHOT.lpkg, и результат тот же, например. ошибка 404. - person Thiago Leão Moreira; 12.03.2016
comment
Хм, я не знал, что вы говорите о настоящих уникальных снимках Maven. В этом случае ответ будет нет, не могу. Это связано с тем, что Bintray не предназначен для моментальных снимков (артефакты времени разработки следует развертывать в Artifactory, а не в Bintray). Я обновлю ответ. - person JBaruch; 12.03.2016