Подтвердить что ты не робот

Должны ли мы использовать Nexus или Artifactory для Maven Repo?

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

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

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

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

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

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

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

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

Подводя итог, для базового хранения артефактов Maven я думаю, что оба они в порядке. Но в то время как Nexus останавливается на том, что существует строго "менеджер хранилища Maven", Artifactory продолжает и остается, будучи общим "Binaries storage" для двоичных файлов любого типа, из любого инструмента сборки и CI-сервера.С >

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

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

Ответ 7

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

Вкратце:

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

Независимо от того, сколько у вас пользователей, Nexus Pro предлагает службу поддержки, которая в целом эквивалентна Artifactory $7,450/year "Silver Value Pack".

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

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

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

Ответ 8

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

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

Ответ 9

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

Nexus GPL теперь AGPLv3 и теперь Eclipse Public License (EPL).

Artifactory - это лицензия Apache LGPLv3 лицензирована с версии 2.1 продукта.

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

Ответ 11

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

Ответ 12

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

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