Самостоятельный хостинг NuGet
Я смотрел на сам хостинг NuGet, с трудом понимая, как его настроить и как он помог бы поддержать наш процесс разработки.
У кого-нибудь есть какие-либо рекомендации относительно того, что использовать, как его настроить?
Или я должен просто использовать размещенный сервис?
4 ответа
Изучив различные решения - автономный и размещенный сервис - мы решили использовать ProGet.
ProGet Резюме
ProGet имеет стандартную "бесплатную" лицензию и номинальные лицензионные сборы (разовые и бессрочные) для корпоративной версии. В настоящее время мы используем стандартную "бесплатную" версию и нареканий нет. Вы можете создавать столько каналов, сколько хотите, добавлять столько пользователей, сколько хотите и т. Д. (Мы создали каналы "Тестирование", "Подготовка" и "Производство", чтобы быть частью нашего процесса обеспечения качества.) Единственный реальный предел в бесплатной версии - невозможность фильтрации внешних каналов для определенных пакетов, которые вы хотите включить в свои каналы ProGet. Эта функция фильтрации управляется с помощью "соединителей". В корпоративной версии - когда вы создаете фид - вы можете при желании добавить "соединитель" для извлечения пакетов из других фидов (внешних или внутренних).
ProGet с управлением и созданием пакетов Nuget
Шаги для создания самого пакета nuget я оставлю в популярном посте Дэвида Эббо, http://blog.davidebbo.com/2011/04/easy-way-to-publish-nuget-packages-with.html. Однако следует помнить, что для загрузки пакетов вы можете загрузить их через веб-интерфейс администрирования пакетов ProGet, командную строку nuget.exe или проводник пакетов Nuget.
Установка, настройка и активация ProGet
Установка, настройка и активация ProGet были наименее интуитивной частью. Он может быть установлен на основе обычной базы данных SQL Server или базы данных SQL Server Express. Кроме того, это также может быть самостоятельное приложение или запускаться под IIS. Если вам нужно выполнить автономную активацию или вы хотите запросить другие лицензионные ключи, зайдите на https://my.inedo.com/ и создайте учетную запись, и вы сможете делать все оттуда.
Proget Контроль качества и CI
CI с TeamCity - это то, что нам нужно, поэтому мы смотрим на создание процесса сборки пакета nuget с использованием сервера Nuget TeamCity. Есть инструкции по созданию пакетов, которые я опубликую в комментарии. Следующим шагом будет автоматическая публикация созданных TeamCity пакетов nuget в соответствующих каналах ProGet (т. Е. "Testing", "Staging", "Production"), возможно, с использованием Nuget из командной строки с ключом API.
Дальнейшая информация
Мы рассматривали MyGet как размещенный сервис, но, похоже, он запутался в простых сценариях, таких как добавление другого участника / пользователя. Он также подскочил в цене, когда потребовалось более двух учетных записей. Принимая во внимание, что с ProGet вы получаете неограниченные учетные записи пользователей только с бесплатной версией.
Еще одно замечание: для публикации проектов / пакетов типа OSS я бы посмотрел на Chocolatey как на решение.
Другой вариант для самостоятельного размещения - использование пакета NuGet.Server и создание веб-сайта IIS для размещения его во внутренней сети, хотя он не будет хорошо масштабироваться, если вы планируете публиковать более нескольких пакетов.
Я создал форк NuGet.Server, который использует индекс Lucene.Net для решения этих проблем с производительностью. Загрузки доступны по https://github.com/themotleyfool/Klondike/releases.
Чтобы поддерживать этот поток в актуальном состоянии, в Visual Studio Team Services также есть менеджер пакетов для предварительного просмотра. Посмотреть на рынке: Управление пакетами
Вы можете создать пустое веб-приложение Asp.Net и установить Nuget.Server
из галереи Nuget. Это бесплатная возможность самостоятельно размещать собственные пакеты Nuget в IIS. Проверьте документацию