Почему артефакт не может загрузить запрошенный артефакт? - PullRequest
0 голосов
/ 04 ноября 2010

Мы размещаем в Artifactory артефакт с именем [имя файла], которому Artifactory применяет отметку времени. Позже в другом стволе его сборка пытается загрузить этот артефакт под тем же именем, под которым он был развернут ранее. Однако из-за отметки времени, которую Artifactory применил к имени файла, эта последующая сборка завершается с ошибкой «Невозможно загрузить артефакт из любого хранилища». Есть ли решение этой проблемы, кроме поворота временных меток Artifactory? Мы верили, что Артефакториал будет достаточно умен, чтобы знать, по крайней мере, вернуть последний артефакт с отметкой времени при запросе.

Ответы [ 2 ]

0 голосов
/ 29 марта 2013

Недавно у меня появилась похожая проблема после того, как я изменил конфигурацию хранилища с хранения неуникальных снимков на уникальные снимки. (См. здесь )

Если существует уникальный снимок и неуникальный снимок одной и той же версии артефакта, возникнет проблема при его загрузке.

Например, если в репозитории в папке /com/mycompany/test/foo/1.0.0-SNAPSHOT/ есть foo-1.0.0-SNAPSHOT.pom и foo-1.0.0-20130329-231102-1.pom, то при загрузке com.mycompany.test: foo: 1.0.0-SNAPSHOT: pom получит ошибку. Вы должны удалить либо файл с именем SNAPSHOT, либо все файлы с отметкой времени в имени.

В моем случае мой репозиторий переключился с хранения неуникальных снимков на уникальные снимки, поэтому я должен удалить файлы * -SNAPSHOT. Я написал сценарий Ruby для сканирования всех последних развернутых артефактов и попытался удалить файл неуникального снимка той же версии (-SNAPSHOT), если таковой имеется. Он использует REST API Artifactory. Вот источник: https://gist.github.com/aleung/5260512

0 голосов
/ 14 февраля 2011

Обычно это будет комментарий, но так как мне не хватает представителя для этого, я делаю это как ответ: наверняка Artifactory сможет справиться с этим.Почему вы думаете, что временная метка является проблемой?Это нормально для моментальных снимков, и, например, файл maven-metadata.xml должен указывать, какая версия является последней.

Используете ли вы диапазон версий для артефакта?

попытки его сборкизагрузите этот артефакт, используя то же имя, под которым он был развернут ранее.

Правильно ли я вас понимаю: артефакт, который вы описываете для развертывания в Artifactory в своей (собственной) сборке, хочет использовать сам?Не могли бы вы опубликовать соответствующие части вашего POM?

...