Моя команда использует внутреннее командное репозиторий maven, которое совместно используется сервером разработки с использованием Apache. Мы также запускаем сервер Continuum CI на той же машине. Сборки Maven в Continuum запускаются с целью «установить», при которой последний артефакт копируется непосредственно в общий каталог.
Вопрос в том, в чем разница между добавлением файлов в общий репо с использованием mvn install
и использованием цели развертывания (плагин mvn-deploy)?
Мне кажется, что использование mvn deploy
создает дополнительные проблемы с настройкой, но я где-то читал, что установка файлов в общий репо - плохая идея по какой-то причине, связанной с внутренней работой maven.
обновление: я получаю функциональные различия между deploy
и install
; На самом деле меня больше интересуют детали низкого уровня с точки зрения того, какие файлы создаются в репозитории maven.
mvn deploy
? Какие преимущества дает дополнительная конфигурация, которая требовалась в первую очередь?Судя по документации Maven , это похоже на разницу в том, в какой репозиторий вы устанавливаете пакет:
Может быть, есть некоторая путаница в том, что «установка» на CI-сервер устанавливает его в свой локальный репозиторий, которым вы, как пользователь, делитесь?
источник
«matt b» прав, но, если быть точным, цель «установить» копирует созданную цель в локальный репозиторий в вашей файловой системе; полезно для небольших изменений в проектах, которые в настоящее время не предназначены для всей группы.
Цель «развертывание» загружает его в ваш общий репозиторий на тот момент, когда ваша работа будет завершена, а затем может быть предоставлен другим людям, которым это требуется для их проекта.
В вашем случае кажется, что «установка» используется для упрощения управления развертыванием, поскольку локальное репо CI является общим репо. Если бы CI был на другом компьютере, он должен был бы использовать цель «развертывание».
источник