На самом деле я вижу две альтернативы, как развернуть свой проект в NEXUS:

  1. Настройте distributionManagement и deploy-plugin в pom.xml. Что в jenkins я должен вызывать только mvn deploy, и мой проект будет развернут в среде
  2. Создайте в Jenkins Post-build Actions -> Deploy artifacts to maven repository, где я могу установить repository URL, repository ID и т. Д.

< sizesВопрос

Каковы плюсы и минусы каждого подхода по сравнению друг с другом?

3
VB_ 23 Дек 2013 в 19:00

2 ответа

Лучший ответ

Если вы настраиваете развертывание в конфигурации сборки Jenkins, вы делаете две вещи

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

Если вы оставляете его в pom, используя настройку Maven по умолчанию, вы можете запустить развертывание проекта без изменений из командной строки на любом компьютере, на котором правильно настроены учетные данные. Это может значительно помочь в устранении неполадок и делает настройку независимой от того, какой сервер CI вы используете.

Оба подхода, а также дополнительные пользовательские настройки, такие как использование Artifactory Build Integration или Nexus Staging Maven Plugin, подходят. В основном это будет зависеть от того, чего вы хотите достичь.

Лично я считаю, что конфигурация не должна быть изолирована от Jenkins и должна оставаться с проектом в pom. Но это всего лишь мой 2с.

3
Manfred Moser 24 Дек 2013 в 01:53

Спасибо за добавление тега Artifactory, теперь я могу предложить вам еще один вариант - Интеграция сборки Artifactory. С помощью плагина Artifactory Jenkins вы можете настроить параметры развертывания (целевой репозиторий, независимо от того, хотите ли вы развертывать информацию о сборке, переменные среды, настраиваемые свойства и т. Д.), Не загрязняя своих разработчиков информацией только ci-eyes.

1
JBaruch 23 Дек 2013 в 15:11