Nexus не обновляет метаданные для SNAPSHOT

Моя установка - это jenkins, который опрашивает мое репозиторий git и публикует его в репозитории nexus при каждом нажатии. Затем у меня есть последующий проект, который берет этот артефакт и развертывает его на тестовом сервере. В этом проекте используется плагин распознавателя артефактов для jenkins, а в качестве версии используется просто "LATEST".

Я заметил следующее. После того, как я опубликовал новый снимок, метаданные обновляются только в папке с конкретной версией. Метаданные конкретной версии верны:

https://repo.wWoodenstake.se/content/repositories/snapshots/se/uniply/dfkka_2.10/1.2.7-SNAPSHOT/maven-metadata.xml:

<metadata modelVersion="1.1.0">
<groupId>se.uniply</groupId>
<artifactId>dfkka_2.10</artifactId>
<version>1.2.7-SNAPSHOT</version>
<versioning>
<lastUpdated>20130524112854</lastUpdated>
</versioning>
</metadata>

https://repo.wWoodenstake.se/content/repositories/snapshots/se/uniply/dfkka_2.10/maven-metadata.xml

показывает старую метку времени:

<metadata modelVersion="1.1.0">
<groupId>se.uniply</groupId>
<artifactId>dfkka_2.10</artifactId>
<versioning>
<latest>1.2.7-SNAPSHOT</latest>
<release/>
<versions>
<version>1.2.7-SNAPSHOT</version>
</versions>
<lastUpdated>20130523200733</lastUpdated>
</versioning>
</metadata>

Следовательно, распознаватель артефактов не загружает последнюю версию, а просто использует кешированную версию из локального каталога. Почему Nexus не обновляет версию? Есть какие-то настройки, которые я пропустил?

Больше информации:

Я использую sbt 12.2 с плагином публикации (плющ под капотом).


person Viktor Hedefalk    schedule 24.05.2013    source источник


Ответы (3)


Я спрашивал об этом и в группе SBT google: https://groups.google.com/forum/?fromgroups#!topic/simple-build-tool/ErA1ybeRXec

После дополнительных исследований этой темы

https://groups.google.com/forum/?fromgroups#!topic/simple-build-tool/okaoV3SDH24

похоже, заявляет, что его Ivy не помещает эти файлы так, как ожидается при использовании Maven. Решение - использовать Aether-plugin для SBT, который «разворачивает» способ Maven вместо «публикации».

https://github.com/arktekk/sbt-aether-deploy

Используя этот, xml: s также был обновлен с помощью PUT: s из сборки SBT.

person Viktor Hedefalk    schedule 24.05.2013

Фактически Nexus вообще не поддерживает эти файлы. Система сборки делает это. Если вы используете Maven, плагин развертывания позаботится об этом.

Кажется, sbt with ivy не справляется с этим должным образом. Я бы предложил интегрировать инструмент sbt-aether-deploy, как предлагает @hedefalk.

В качестве временной меры вы можете регулярно запускать задачу восстановления метаданных в репозитории.

person Manfred Moser    schedule 31.05.2013
comment
Я действительно пробовал перестроить метаданные, но, насколько я помню, у меня это не сработало. В любом случае, плагин aether-deploy сейчас у меня отлично работает. - person Viktor Hedefalk; 04.06.2013