Должны ли мы использовать Nexus или Artifactory для репо Maven? - PullRequest
113 голосов
/ 13 декабря 2008

Мы используем Maven для большого процесса сборки (> 100 модулей). Мы храним наши внешние зависимости в управлении исходным кодом и используем их для обновления локального репо.

Однако мы готовы перейти к локальному репо, который может кэшировать центральное хранилище, так что нам не нужно предварительно загружать все сторонние репозитории (но у нас все еще может быть локальное репо, из которого можно извлечь). Кроме того, мы хотим опубликовать наши внутренние артефакты из ночной сборки, чтобы разработчикам не приходилось создавать мир.

Мы рассматриваем Nexus и Artifactory. Каковы причины предпочтения одного над другим? Есть ли другие, которые мы должны рассмотреть?

Ответы [ 12 ]

115 голосов
/ 04 ноября 2010

Я уверен, что если вы говорите только о сохранении двоичных файлов из "mvn deploy", то все будет хорошо.

Мы очень широко используем Artifactory со всеми улучшениями на этом пути. Множество проектов, многочисленные снимки развернуты и внешние репозитории прокси. Ни единой проблемы. Мне трудно объяснить, как другие люди испытывают проблемы с его БД, индексацией или чем-то еще. Ничего подобного никогда не случалось с нами. Кроме того, Artifactory позволяет хранить данные на диске и использовать только БД для хранения метаданных, это довольно гибкий инструмент ( подробнее здесь ).

Что отличает эти приложения от , так это их подход к интеграции с другими инструментами и технологиями сборки. Nexus и Sonatype в значительной степени привязаны к Maven и m2eclipse. Они игнорируют все остальное и только недавно начали работать над собственной собственной интеграцией Hudson (см. Их вебинар Maven 3 ). РЕДАКТИРОВАТЬ: Это больше не так с 2017 года Nexus предоставляет гораздо большую поддержку для других инструментов сборки Конец редактирования

Artifactory обеспечивает потрясающую интеграцию Hudson, TeamCity и Bamboo и Gradle / Ivy . Так что, хотя Nexus ничего не дает вам, когда вы выходите из «зоны комфорта» Sonatype (Maven, m2eclipse), Artifactory охватывает и сотрудничает со всеми основными инструментами сборки.

Фактически, возможность развертывать артефакты сборки из Хадсона, когда задание завершено, а не "mvn deploy", является огромной разницей: плагин Artifactory Hudson выполняет атомарное развертывание всех артефактов одновременно , только после успешного завершения задания по сборке. «mvn deploy» запускается после каждого модуля и может развернуть частичный набор артефактов в случае сбоя задания сборки в середине. Развертывание из Maven при завершении модуля, а не с сервера сборки при завершении задания - действительно плохая вещь.

Как видите, Artifactory думает «вне коробки», а Nexus думает «внутри коробки» и заботится только об артефактах Maven и Maven.

Еще одна вещь, которая делает Artifactory более доступной, - это облачное решение Artifactory Online . Приблизительно за 80 долларов в месяц у вас есть собственный экземпляр Artifactory, нет необходимости выделять для него какой-либо сервер.

Artifactory имеет простой и понятный REST API , не знаю, как он работает для Nexus. Edit Nexus также имеет REST API , который вы также можете легко использовать.

Подводя итог, для основного хранения артефактов Maven я думаю, что оба в порядке. Но в то время как Nexus перестает быть строго «Менеджером репозитория Maven», Artifactory продолжает работать, являясь общим «Хранилищем двоичных файлов» для двоичных файлов любого типа, с любого инструмента сборки и CI-сервера.

71 голосов
/ 17 декабря 2008

Я не знаю об Artifactory, но вот мои причины для использования Nexus:

  • Мёртвая простая установка (и начиная с 1.2, тоже мёртвая простая модернизация)
  • Очень хороший веб-интерфейс
  • Прост в обслуживании, почти без административных затрат
  • Предоставляет вам RSS-каналы недавно установленных, сломанных артефактов и ошибок
  • Он может группировать несколько репозиториев, чтобы вы могли зеркалировать несколько источников, но в настройках требуется только одна или две записи. Xml
  • Развертывание из Maven работает "из коробки" (нет необходимости в взломах WebDAV и т. Д.).
  • это бесплатно
  • Вы можете перенаправить пути доступа (т. Е. Для некоторых сломанных pom.xml требуется "a.b.c" из "xxx"). Вместо исправления POM вы можете исправить ошибку в Nexus и перенаправить запрос туда, где на самом деле находится артефакт.
27 голосов
/ 23 апреля 2010

Artifactory поддерживает как файловую систему, так и базу данных хранилища. Хранилище основано на контрольной сумме, и идентичные двоичные файлы хранятся только один раз, независимо от того, сколько раз они появляются в репо, что делает Artifactory более эффективным с точки зрения хранения. Перемещение и копирование также очень дешевы из-за этой архитектуры (в Nexus нет REST для перемещения / копирования - вам нужно переместить материал в файловой системе, а затем выполнить корректирующие действия в репо, чтобы сообщить, что контент изменился).

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

22 голосов
/ 25 декабря 2008

Artifactory хранит артефакты в базе данных, что означает, что если что-то пойдет не так, все ваши артефакты исчезнут. Nexus использует плоский файл для ваших драгоценных артефактов, поэтому вам не нужно беспокоиться о том, что они все могут потеряться.

9 голосов
/ 19 августа 2013

Если вам нужны «профессиональные» функции (например, постановка репо, продвижение артефактов, NuGet), то вам необходимо рассмотреть различные модели ценообразования, которые отображаются на их сайтах.

В итоге:

  • Artifactory Pro
    • вы платите за сервер
    • Вы можете заплатить больше за увеличенные часы работы
  • Nexus Pro
    • вы платите за место , т. Е. Сколько разработчиков загружают артефакты
    • Служба поддержки - только пн-пт 0800-2000 ET, независимо от того, сколько вы платите

Независимо от того, сколько у вас пользователей, Nexus Pro предлагает службу поддержки, которая в целом эквивалентна «Серебряной стоимости» от Artifactory за 7 450 долларов в год.

7450 долл. США в год позволит вам приобрести примерно 67 мест Nexus Pro (1-50 @ 108 долл., Остальные @ 120 долл.).

Тогда только по цене и поддержке Nexus Pro имеет смысл, пока вы не дойдете до 67 пользователей, после чего Artifactory станет более дешевым вариантом.

Если вы делаете всю внутреннюю поддержку; однако этот магический момент составляет около 23 пользователей (самое основное предложение поддержки Artifactory - 2750 долларов в год).

8 голосов
/ 08 октября 2009

Недавно я провел некоторое исследование об Artifactory 2 и Nexus 1.3. Я перечислю здесь основные различия, которые я нашел:

  • Artifactory хранит метаданные и, возможно, файлы в БД, Nexus записывает непосредственно в файловую систему. Есть плюсы. и минусы для каждого подхода. БД поддерживает транзакции, в то время как в ФС хранящиеся файлы могут быть доступны напрямую.
  • Artifactory предъявляет более высокие системные требования, особенно в отношении дискового пространства.
  • Artifactory поддерживает LDAP, в то время как в Nexus она есть только в платной версии. С другой стороны бесплатный плагин LDAP для Nexus доступен в коде Google.

Наиболее полное сравнение: http://binary -репозитории-comparison.github.io /

7 голосов
/ 07 января 2009

Вы должны использовать Artifactory Его последняя версия была настоящим прыжком Вы можете постепенно создавать резервные копии своих репозиториев, что означает, что вы можете сохранить и сохранить все свои артефакты Его имеет простой в использовании веб-интерфейс и это действительно легко настроить Я наслаждался этим много проверить его новую версию 2.0

5 голосов
/ 09 января 2014

С точки зрения учащихся, я отмечаю некоторые специфические различия между ними.

  1. Развертывание Sonatype .war в настоящее время не поддерживается на сервере приложений Jboss, хотя оно работает под управлением Tomcat.
  2. В настоящее время Sonatype не предлагает мне образ машины Amazon (AMI), чтобы я мог быстро встать и протестировать.
  3. Artifactory AMI предоставляется Bitnami и занимает всего несколько минут, чтобы встать, и еще несколько минут, чтобы настроить, возможно, несколько десятков минут, в зависимости от того, чего вы пытаетесь достичь.
  4. Artifactory предлагает SaaS-версию Artifactory в облаке, чтобы вы могли сосредоточиться на выполнении задач, а не на инфраструктуре.
  5. У меня нет опыта работы с Nexus, но я нашел Artifactory очень интуитивно понятным и простым в настройке, по крайней мере на начальном этапе.
  6. Добавлено - я отмечаю, что руководство пользователя Artifactory, которое может подойти для опытного профессионала, немного освещено для некоторых подробных объяснений. Например, вначале разархивируйте, а затем добавьте репозиторий, например, RedHat's Jboss EAP Enterprise Repo. Все идет хорошо, но когда я пытался просмотреть артефакты, которые были импортированы. Artifactory сообщает об отсутствии артефактов? Нет ошибок или предупреждений, поэтому я сейчас ищу объяснение. Это нормально или не нормально? Простое объяснение в документе может быстро указать в правильном направлении. Будучи хорошим участником, я добавляю эти комментарии в проект для блага других начинающих.
3 голосов
/ 28 января 2009

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

Nexus - GPL сейчас AGPLv3 и сейчас Eclipse Public License (EPL) .

Артефакт является Лицензия Apache LGPLv3 лицензия на версию 2.1 продукта.

Вы также можете рассмотреть Archiva , просто для сравнения. Это Apache 2.0 по лицензии.

1 голос
/ 23 февраля 2015

Я вижу, что использование Nexus растет, в то время как использование Artifcatory в целом остается неизменным.

enter image description here

Снимок сделан здесь http://blog.sonatype.com/2014/11/42000-nexus-repository-managers-and-growing/

Есть также матрица-сравнение http://docs.codehaus.org/display/MAVENUSER/Maven+Repository+Manager+Feature+Matrix

...