Как заблокировать повторное развертывание в Sonatype Nexus OSSRH

Мы развертываем наши библиотеки с открытым исходным кодом в экземпляре OSS Sonatype Nexus (https://oss.sonatype.org/) с помощью плагина nexus-staging. Это работает все хорошо и хорошо. Однако, поскольку мы используем сервер сборки, я хочу заблокировать случайное повторное развертывание существующего идентификатора артефакта, поскольку это обычно не поддерживается maven. Однако OSSRH с радостью принимает и обновляет существующий выпуск. Есть ли способ заблокировать это и сделать сборку неудачной?

Я знаю, что Nexus можно настроить для этого — просто у меня нет прав на перенастройку экземпляра OSSRH.

Есть ли какой-нибудь плагин maven, который мог бы сначала проверить репо и в первую очередь потерпеть неудачу, если nexus/sonatype не поддерживает это? Я просмотрел подключаемый модуль Enforcer, но там нет доступного правила.


person Andreas Haufler    schedule 19.08.2015    source источник
comment
Если вы развернетесь на oss.sonatype.org, вы создадите промежуточный репозиторий, который уникален каждый раз, когда вы пытаетесь развернуть. Вот почему вы можете развернуть релизную версию два раза... Вам нужно просто отключить опцию релиза в nexus-staging-plugin.   -  person khmarbaise    schedule 19.08.2015
comment
Но я хочу сделать релиз - я просто хочу заблокировать или получить уведомление, если что-то не так. забыл увеличить версию. Поскольку maven автоматически выпускает промежуточное репо, и все проверки выполняются, мне интересно, почему этот важный принцип maven не проверяется... :-(   -  person Andreas Haufler    schedule 19.08.2015
comment
Инкремент версии делается вручную?   -  person khmarbaise    schedule 19.08.2015
comment
Ага. Поскольку машина не может решить, является ли ее основным / второстепенным / патчем - есть ли лучшая практика, которая превосходит это?   -  person Andreas Haufler    schedule 19.08.2015
comment
Почему бы не использовать плагин выпуска и т. Д.? или решение CI для этого, которое не позволяет делать что-то вручную.   -  person khmarbaise    schedule 20.08.2015


Ответы (1)


Это правда, что в Nexus есть промежуточное правило, которое предотвращает создание дубликатов GAV, но оно не включено на https://oss.sonatype.org. Причина этого в том, что некоторые пользователи повторно размещают артефакты (создавая несколько промежуточных репозиториев), а затем выбирают один из них для выпуска на основе результатов тестирования.

Но сервер по адресу https://oss.sonatype.org настроен так, что вы нельзя выпускать одни и те же артефакты дважды. Поэтому, если у вас есть два промежуточных репозитория, содержащих одни и те же артефакты, вы сможете выпустить только один из них.

person rseddon    schedule 20.08.2015