Изучив различные решения — автономный и размещенный сервис — мы выбрали 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. Если вам нужно выполнить автономную активацию или вы хотите запросить другие лицензионные ключи, перейдите на my.inedo.com и создайте учетную запись, и вы сможете делать все оттуда.
Контроль качества проекта и CI
CI с TeamCity — это то, что нам понадобится, поэтому мы рассматриваем возможность создания процесса сборки пакета nuget с использованием сервера TeamCity Nuget. Есть инструкция по созданию пакетов, которую я опубликую в комментарии. Следующим шагом будет автоматическая публикация пакетов nuget, созданных TeamCity, в соответствующих фидах ProGet (т. е. «Тестирование», «Промежуточная подготовка», «Производство»), возможно, с использованием командной строки Nuget с ключом API.
Дополнительная информация
Мы смотрели на MyGet как на размещенную службу, но, похоже, она спотыкалась на простых сценариях, таких как добавление другого участника/пользователя. Это также немного подскочило в цене, когда потребовалось более двух учетных записей участников. В то время как с ProGet вы получаете неограниченное количество учетных записей пользователей только с бесплатной версией.
Еще одно замечание: для публикации проектов/пакетов типа OSS я бы рассмотрел в качестве решения Chocolatey.
person
TWright
schedule
11.09.2012