2008-12-13 3 views
106

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

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

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

+2

Ваша ссылка не слишком объективна, вот другая сторона ответа HTTP: //blogs.jfrog. org/2009/01/contrasting-artifactory-and-nexus.html – user58773 2009-01-25 12:14:44

+0

Я думаю, вам стоит рассмотреть простой HTTP-сервер, такой как Apache или nginx. Это «Буровая технология» (http://mcfunley.com/choose-boring-technology). – 2015-10-07 11:24:55

+4

@JohanWalles: больше похоже на «неудобную и продуктивно-сокращающую технологию» в этом контексте. – 2016-04-15 07:35:34

ответ

66

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

  • Мертвых простая установка (и с тех пор 1.2, мертвые просто обновление, тоже)
  • Очень хороший веб-интерфейс
  • Простота в обслуживании, практически нет административных накладных расходов
  • Предоставляет вам RSS-каналы недавно установленных, сломанных артефактов и ошибок
  • Он может группировать несколько репозиториев, чтобы вы могли отображать несколько источников, но вам нужно только одна или две записи в ваших настройках. xml
  • Развертывание из Maven работает из коробки (нет необходимости в хакерах WebDAV и т. д.).
  • это бесплатно
  • Вы можете перенаправить пути доступа (то есть некоторые сломанные pom.xml требуют «a.b.c» из «xxx»). Вместо исправления POM вы можете исправить ошибку в Nexus и перенаправить запрос туда, где на самом деле находится артефакт.
+2

Nexus имеет отличный веб-интерфейс для создания регулярных заданий, которые могут очищать SNAPSHOTS. У Artifactory этого нет (пока). – HDave 2010-12-15 14:50:22

21

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

+3

Именно это и заставило нас задуматься.Я предполагаю, что это в основном паранойя, но утешительно знать, что будет легко проверить систему в любое время. – 2009-05-11 07:55:43

+4

Из-за этого мы планируем перейти от Artifactory к Nexus. – Kariem 2009-11-10 08:45:18

+2

+1 от другой жертвы коррупции; С тех пор я использовал Archiva и Nexus, и оба они кажутся довольно прочными. – SimonJ 2010-11-03 23:26:50

7

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

3

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

Nexus является GPL Теперь AGPLv3 Eclipse Public License (EPL) и теперь.

Artifactory is Apache имеет лицензию LGPLv3 имеет лицензию на версию 2.1 продукта.

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

-2

Оба Artifactory и Nexus имеют более или менее аналогичный набор функций, но поддержка LDAP от Artifactory делает его более привлекательным для Nexus.Хотя Nexus также есть поддержка LDAP, но в платной версии :-(

8

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

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

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

25

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

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

-2

Хммм ... мой опыт работы с искусством ужасен ... но я относительный новичок, поэтому возьмите его с солью. Моя общая жалоба заключается в том, что файлы jar, недавно загруженные в Artifactory, похоже, сразу не индексируются - как в часах - и, похоже, нет хорошего способа заставить его. Я пробовал разные вещи, которые выглядели так, как будто они должны были работать, но нет. Я работал с m2eclipse, добавляя зависимости к проекту, который я перехожу из муравья. Когда я пытаюсь добавить банку, которую я только что добавил в artifactory, я ожидаю, что она появится в качестве выбора в селекторе, но это не так.

сотрудник сказал мне, что они установили связь и пока им это нравится ... но я не могу ручаться за него еще. Я собираюсь установить это на ящик Linux, как только IT найдет меня.

112

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

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

Что делает эти приложения очень отличается от их подхода к интеграции с другими инструментами и технологиями сборки. Nexus и Sonatype в значительной степени заблокированы на Maven и m2eclipse. Они игнорируют что-то еще и только недавно начали работать над собственной собственной интеграцией Гудзона (см. Их Maven 3 webinar). EDIT: Это не так больше, как в 2017 году Nexus дает a much larger support for other build toolsКонец Edit

Artifactory обеспечивает удивительный Hudson, TeamCity and Bamboo integration и Gradle/Ivy поддержки. Поэтому, когда Nexus ничего не дает вам, когда вы выходите из зоны комфорта Sonatype (Maven, m2eclipse), Artifactory охватывает и сотрудничает со всеми основными инструментами построения.

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

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

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

Artifactory имеет simple and straightforward REST API, не знаю, как это работает для Nexus. Редактировать Nexus has also a REST API, который вы также можете использовать легко.

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

9

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

В итоге:

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

Независимо от того, сколько пользователей у вас есть, Nexus Pro предлагает службу поддержки, что это в целом что эквивалентно $ 4950 за год.

$ 7,450/year купит вам приблизительно 67 мест Nexus Pro (1-50 @ $ 108, остальные @ $ 120).

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

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

5

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

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