2013-03-05 2 views
18

Я пытаюсь ввести достойное управление ссылкой в ​​свою организацию. Используя Nexus с Maven раньше, я знаю, что это намного лучше, чем метод построения всего локально. Поскольку это магазин .Net, я хочу использовать NuGet вместо Maven. Я знаю, что бинарный репозиторий будет самым важным битом, чтобы получить право, но не имеет опыта размещения репозитория NuGet в двоичном репозитории.nexus или artifactory с nuget?

Есть ли причина в пользу Nexus или Artifactory в этой ситуации? Мы используем Jenkins с svn как наш CI, если это имеет значение.

+0

Просто и уточните это, так как вопросы несколько лет, теперь есть ProGet, который начался как менеджер пакетов NuGet, но теперь является универсальным менеджером репозитория артефактов, например, Artfactory от Jfrog. Посмотрите сравнение двух инструментов для немного больше фона: http://inedo.com/support/kb/1115/a-comparison-artifactory-vs-proget –

ответ

24

Это то, что мы нашли в прошлый раз мы сравнили поддержку NuGet в Artifactory против Nexus (оговорка - я с JFrog):

  1. В Artifactory поддержка NuGet естественно интегрирована в продукт , что упрощает управление - просто пометьте локальный репозиторий, включив NuGet или установив удаленный URL для удаленного репо. Несколько репозиториев NuGet можно легко агрегировать под одним виртуальным репозиторией NuGet - таким же подходом, который используется с любым другим репо в Artifactory; В Nexus вам нужно будет определить новый тип репозитория, настроить новую выделенную область безопасности, и если вам нужен существующий репозиторий для ответа на запросы NuGet, вам нужно добавить к нему специальный фасад. Это общий подход в Nexus, где каждый новый тип репозитория (например, P2) требует многоуровневых изменений конфигурации.

  2. Нет абсолютно никакой интеграции для пакетов NuGet в пользовательском интерфейсе Nexus. Вы даже не можете искать артефакты NUGet, что имеет решающее значение для управления и обслуживания (поэтому поиск только из Visual Studio не может быть достаточным). Это связано главным образом с тем, что Nexus очень ориентирован на Maven и мавновскую компоновку; В Artifactory вы можете искать и управлять пакетами NuGet, как и любые другие артефакты. Вы можете просмотреть информацию из метаданных nuspec in the UI и даже развернуть содержимое отдельных файлов в пакете NuPkg и проверить их содержимое.

  3. Интеграция безопасности в Artifactory также проще - нет необходимости вручную генерировать специальный ключ, но ключ представляет собой комбинацию имени пользователя и пароля или безопасного пароля. Это здорово, если вы хотите, чтобы ваши пользователи синхронизировали пароли NuGet с интеграцией Artifactory MS-AD/LDAP; В Nexus NuGet используется изолированная область безопасности.

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

Надеюсь, что это поможет.

PS. Поддержка NuGet является частью Pro-версий Artifactory и бесплатно предоставляется в Nexus OSS since september 2014.

+1

+1: Хотя я очень признателен за ваш ответ (как человек из компании, которая разрабатывает Artifactory), у меня есть небольшое замечание: сразу не становится ясно, бесплатна ли поддержка NuGet или нет. Возможно, вы могли бы изменить свой ответ, чтобы отразить это? – carlspring

+3

Спасибо, я добавил это к моему ответу. –

+0

Верно ли, что поддержка NuGet является лишь частью про-версии Artifactory? Похоже, что он свободен от версии 2.9 от Nexus, согласно http://books.sonatype.com/nexus-book/reference/_introduction_6.html – antwarpes

10

У Nexus есть поддержка NuGet, и вы можете разместить или проксировать свои репозитории NuGet непосредственно в нем. Посмотрите here.

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

Я не буду спорить, почему и если Nexus лучше Artifactory, так как это было бы несправедливо и только вызовет пламенные войны. Мои собственные рассуждения таковы: ребята из Sonatype являются теми, кто стоит за Maven, Nexus и Maven Central. Это ставит их в центр вещей, и поэтому их знание всегда будет более глубоким в отношении внутренних средств этих инструментов и их взаимозаменяемости.

Если вы знакомы и комфортно с Nexus, я откровенно не вижу причин для вас. Однако вы можете решить для себя. Посмотрите here.

+7

Artifactory всегда предоставляла возможность хранения файловой системы (и всегда это было рекомендуется). Глубокое участие Sonatype в Maven фактически удерживает их, когда речь заходит о поддержке различных технологий и инструментов. Например. они по-прежнему позволяют использовать maven только для Gradle и Ivy! Опыт Maven - это не то, чтобы волноваться, когда речь заходит о NuGet suppory. – JBaruch

+0

@JBaruch Я не верю, что это было так. Первоначально (если я правильно помню, но, пожалуйста, не стесняйтесь исправить меня), все артефакты были сохранены в базе данных. Позже они изменили его. – carlspring

+4

Я исправляю вас, вы ошибаетесь. Просто не принимайте FUD, который вы читаете в блоге Sonatype, как должное. – JBaruch