Выпуск проблем с Nexus + Maven + Hudson - PullRequest
2 голосов
/ 17 августа 2010

При использовании подключаемого модуля релиза для Maven в Hudson (1.368) я получаю сообщение об ошибке, которое отсутствует в моем разделе distributionManagement на этапе развертывания в нашем Nexus Maven Repository Manager. Если я развертываю без использования релиза, он работает нормально, поэтому не должно быть неправильной конфигурации с сервером, разделом или настройками.

Стоит отметить, что моя компания использует разные файлы pom для Hudson и называет их по-разному. Также settings.xml в отдельных каталогах проекта. Это никогда не было проблемой, поскольку Hudson позволяет указать имя pom, а также местоположение и имя файла настроек.

Причина, по которой я отмечаю вышеизложенное, заключается в том, что при перемещении distributionManagement в обычный файл pom.xml он все же находит его (но все равно не работает, поскольку в нем отсутствуют имя пользователя и пароль в файле настроек). Это смущает меня, потому что для предыдущих частей процесса выпуска используются правильные параметры и настройки. Просто кажется, что потом их забыли. Что здесь происходит?

Заранее спасибо.

UPDATE
Кажется, что плагин релиза maven запускает новый экземпляр maven, который, по-видимому, использует файл pom.xml по умолчанию, а не наш pom с другим именем. Требуется дополнительное тестирование.

Ответы [ 2 ]

3 голосов
/ 18 августа 2010

Ответ (для всех потерянных душ, которые наткнулись на этот вопрос) заключается в том, что maven действительно вытворял новый процесс, который не использовал правильный файл pom и настройки.Решением было добавить раздел в файл pom следующим образом:

<plugin>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.0</version>
    <configuration>
        <goals>-f POMFILE -s SETTINGSFILE deploy</goals>
    </configuration>
</plugin>

Это указало эти два файла для нового процесса maven.

0 голосов
/ 17 августа 2010

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

Ну, где-то явно есть неправильная конфигурация, будь то на уровне Гудзона. Но это будет трудно заметить, не видя pom, настроек, активных профилей, профилей, использованных во время выпуска, настройки Hudson и т. Д.

Первый шаг: попытайтесь воспроизвести проблему в командной строке, используя ту же конфигурацию, что и Hudson.

Второй шаг: используйте Плагин помощи Maven , чтобы понять и устранить проблему. Более конкретно, следующие цели:

Причина, по которой я отмечаю вышеизложенное, заключается в том, что при перемещении distributionManagement в обычный файл pom.xml он все же находит его (но все равно не работает, поскольку в нем отсутствуют имя пользователя и пароль в файле настроек).

Непонятно, где указывается distributionManagement, если за пределами pom.xml проекта (в корпоративной среде обычно используется pom.xml, это так?).

Также неясно, предоставляете ли вы username и password для сервера id, соответствующего хранилищу id distributionManagement.

Но как-то здесь используется неправильная комбинация. Дважды проверьте, какие профили / настройки активны во время выпуска / развертывания, чтобы определить проблему, как было предложено.

Смотри также

...