Архивирование старых пакетов - PullRequest
3 голосов
/ 10 марта 2012

У нас есть собственный приватный канал NuGet. Я заметил, что когда существует множество версий одного и того же пакета, диалоговое окно Диспетчер пакетов может отображать пакеты в канале очень долго.

Если я переместу все, кроме самой последней или нескольких последних версий, в каталог архива, то все, похоже, ускорится. Однако удаление этих старых версий затрудняет обновление проектов до последней версии.

Какая лучшая практика в этом отношении? Я бы предпочел не удалять старые версии, но я хочу, чтобы канал был отзывчивым. Есть ли способ организовать ленту так, чтобы она только перечисляла последние версии пакетов, но при этом оставались доступными более старые версии?

Справочная информация
Эти пакеты являются частью приложений, которые находятся в стадии активной разработки. Если мы обнаруживаем ошибку, мы обычно исправляем, тестируем и публикуем обновление пакета как можно скорее, чтобы продолжить разработку. Поскольку у нас нет формального графика выпуска, иногда эти пакеты обновляются несколько раз в неделю или проходят без обновлений несколько месяцев.

1 Ответ

2 голосов
/ 20 марта 2012

Я полагаю, вы используете NuGet.Server? Этот становится медленным, поскольку он не оптимизирован для более крупных каналов. Он фактически проверяет все пакеты в вашем фиде, чтобы получить соответствующие метаданные, каждый раз. Если у вас есть источники (они находятся на http://nuget.codeplex.com), вы, вероятно, можете оптимизировать и кэшировать это, что должно значительно ускорить процесс.

Вы можете перейти на NuGetGallery (http://github.com/nuget/nugetgallery) или использовать решение, подобное http://www.myget.org (приватные каналы, размещенные для вас) или Inedo ProGet (приватный канал, размещенный на вашем сервере).

...