Nexus не актуализира метаданни за SNAPSHOT

Моята настройка е jenkins, която анкетира моето git repo и публикува в nexus repo при всяко натискане. След това имам проект надолу по веригата, който взема този артефакт и го внедрява на тестов сървър. Този проект използва плъгин за разрешаване на артефакти за jenkins и използва само „НАСТОЯЩА“ като версия.

Това, което забелязвам е следното. След като публикувам нова моментна снимка, метаданните се актуализират само в папката на конкретната версия. Метаданните за конкретната версия са правилни:

https://repo.woodenstake.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.woodenstake.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 с плъгин за публикуване (ivy under the hood).


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-плъгин за SBT, който „разгръща“ по начина на Maven вместо „публикувай“.

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

Използвайки този, xml:s също се актуализира с PUT:s от компилацията на SBT.

person Viktor Hedefalk    schedule 24.05.2013

Nexus всъщност изобщо не поддържа тези файлове. Системата за изграждане прави това. Ако използвате Maven, плъгинът за внедряване ще се погрижи за това.

Изглежда sbt с ivy не прави това правилно. Бих предложил да интегрирате инструмента sbt-aether-deploy, както е предложено от @hedefalk.

Като мярка за прекъсване можете редовно да изпълнявате задачата за повторно изграждане на метаданни в хранилището.

person Manfred Moser    schedule 31.05.2013
comment
Всъщност опитах метаданните за възстановяване, но изглежда не работи за мен, доколкото си спомням. Както и да е, плъгинът за разгръщане на aether работи брилянтно за мен сега. - person Viktor Hedefalk; 04.06.2013

Други отговори, свързани с моментни снимки на ivy и Maven:

В обобщение, изданията на моментни снимки са функция на Maven, която не се поддържа напълно от ivy.

person Mark O'Connor    schedule 24.05.2013