Могу ли я опубликовать частный пакет NuGet?

72

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

Я знаю с Maven, вы можете создавать локальные репозитории и исходные пакеты из локального репо. Поддерживает ли NuGet аналогичную функциональность? Есть ли способ с NuGet указать локальный репозиторий или иметь частные пакеты?

Теги:
visual-studio
nuget

3 ответа

61
Лучший ответ

Да! Вы можете разместить свой собственный сервер NuGet!

Самый простой способ - создать общую папку на вашем сервере и ссылаться на нее как на Nuget Server.

Вы можете найти дополнительную информацию о том, как это сделать: Хостинг ваших собственных каналов NuGet

  • 3
    По приведенной выше ссылке прокрутите вниз до раздела «Создание удаленных каналов», если вы хотите создать реальный сервер, доступный по HTTP, для размещения ваших сборок.
  • 6
    Хотя это, вероятно, самый простой способ, это означает, что вы должны поделиться этой папкой со всеми, и любой, у кого есть доступ, может (случайно или нет) умерить ее содержимое. Лучший способ (но простой способ) - создать собственный сервер с помощью NuGet.Server и разместить его в IIS или Azure. После этого вы сможете отправлять пакеты, используя ключ API, и каждый может подписаться на канал. Вот простое руководство по созданию собственного сервера NuGet .
Показать ещё 2 комментария
16

Другой вариант размещения вашего собственного сервера NuGet - использовать JetBrains TeamCity в качестве сервера сборки. Настройка описана здесь.

Сервер Team City действует как репозиторий NuGet, который будет/может/должен быть доступен только в вашей компании.

Основываясь на вашем использовании, есть бесплатные версии программного обеспечения.

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

  • 1
    Хотя вы и правы, TeamCity имеет очень мало общего с NuGet, и есть и другие варианты для сервера NuGet (о чем он и мечтает). TeamCity довольно немигающая сервер интеграции , что происходит , чтобы иметь встроенный NuGet сервер.
12

Просмотрите бесплатную версию ProGet; мы построили его именно для этой цели. Требуется гораздо меньше времени для настройки и предлагает множество функций выше и выше тех, что предлагаются на стандартном сервере NuGet, таких как несколько каналов, агрегация каналов и дополнительные типы репозиториев (npm, Bower и т.д.).

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню