Чи можу я опублікувати приватний пакет NuGet?


107

У мене склалася власна збірка, яка є дуже специфічною для моєї команди в моїй компанії. Я хочу мати можливість використовувати NuGet, щоб зробити цю збірку доступною для інших проектів, над якими працює моя команда та подібні команди в моїй компанії. Однак збірка насправді не є кодом, яким я хочу поділитися зі світом.

Я знаю, що з Maven ви можете створювати локальні сховища та вихідні пакети з місцевого репо. Чи підтримує NuGet подібну функціональність? Чи є спосіб NuGet вказати локальний сховище або мати приватні пакети?

Відповіді:


92

Так! Ви можете розмістити власний сервер NuGet!

Найпростіший спосіб - створити спільну папку на своєму сервері та посилатись на неї як на Nuget Server.

Ви можете дізнатися більше про те, як це зробити за адресою: Розміщення власних каналів NuGet


3
За посиланням вище, прокрутіть униз до розділу "Створення віддалених каналів", якщо ви хочете створити фактичний сервер, доступний через HTTP, для розміщення ваших зборів.
Кевін Калітовський

6
Хоча це, мабуть, найпростіший спосіб, це означає, що вам потрібно поділитися папкою з усіма, і кожен, хто має доступ, може вдаватись (випадково чи ні) налаштовувати її вміст. Кращий спосіб (але простий спосіб) - створити власний сервер, використовуючи NuGet.Serverта розміщуючи його в IIS або Azure. Після цього ви зможете натискати пакети за допомогою ключа API, і кожен бажаючий може підписатися на канал. Ось простий посібник для створення власного сервера NuGet .
Алекс Сансо

Працював як шарм!
Андро

У мене була така ж проблема. і знайшов наступне: Скотт: hanselman.com/blog/… також: nicolaiarocci.com/…
Майкл

21

Ще одним варіантом розміщення власного сервера NuGet є використання JetBrains TeamCity в якості сервера збірки. Установка описана тут .

Сервер Team City діє як сховище NuGet, яке могло б / могло бути доступним лише для вашої компанії.

Виходячи з вашого використання, існують безкоштовні версії програмного забезпечення.

У нього є кілька приємних варіантів, таких як можливість публікувати нову версію NuGet на вимогу, з кожною новою безперервною інтеграцією і т.д. ваших зборів, тому якщо у вас є один проект, на який потрібно посилатись на останню версію, та інший проект, на який потрібно посилатися на старішу версію, все вийде.


2
Хоча ви маєте рацію, TeamCity має дуже мало спільного з NuGet за кажуть, і для сервера NuGet є інші варіанти (про що він і просить). TeamCity швидше безперервний сервер інтеграції , який відбувається , щоб мати вбудований сервер NuGet.
Джим Ахо

14

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

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


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.