2011-12-20 3 views
0

Общепринятой практикой является проверка пакетов nuget, используемых в решении, в исходное управление. С new package restore feature of nuget 1.6 больше не нужно проверять пакеты на исходный контроль. Однако это оставляет ваши проекты зависимыми от nuget.org. Может наступить время, когда нужный пакет недоступен на nuget.org и недоступен локально в вашей организации, без которого вы не сможете создать свой проект.Резервное копирование пакета Nuget

Существуют ли какие-либо корпоративные решения для резервного копирования пакетов nuget, используемых в проектах централизованным образом? Один из сценариев - иметь прокси-сервер предприятия nuget, из которого проекты получают свои пакеты nuget. Этот прокси-сервер может каким-то образом создавать резервные копии запрошенных пакетов, например, хранить их в резервной папке и проверять содержимое в хранилище общих хранилищ. Другой сценарий заключается в том, чтобы логика резервного копирования выполнялась автоматически на каждой машине разработчика.

В целом, какие хорошие автоматические параметры для резервного копирования пакетов nuget?

ответ

1

Я не знаю никаких существующих решений резервного копирования, но это определенно то, что мы хотели бы решить в какой-то момент. На ум приходит пара идей.

  1. Используйте DropBox для резервного копирования каталога пакетов в другое место.
  2. Запустите свой собственный экземпляр NuGet.org локально, и ваш CI-сервер заполнит локальный установленными пакетами.
  3. Используйте MyGet.org для размещения частного канала для всех пакетов, установленных вашей командой.
+0

DropBox и MyGet включают обмен источник с 3 участника. Вариант 2 может работать. – Alex

+0

Фил, как насчет использования локального кэша nuget для целей резервного копирования? Прямо сейчас VS только позволяет нам перейти к папке в «Инструменты-> Параметры-> PackageManager'. На этом экране настроек вы можете разрешить пользователям устанавливать дополнительную папку кеша, которую пользователи могут указывать на какой-то общий диск внутри организации. Только, что делать, если эта папка временно недоступна? – Alex

3

Вы должны посмотреть на Artifactory от JFrog (http://www.jfrog.com/): они недавно добавили поддержку NuGet. Artifactory может выступать в качестве центрального кеша для нескольких каналов NuGet. Я говорил с командой разработчиков на конференции в начале этого года, и они действительно включены.

Существует также ProGet, хотя я не использовал это: http://inedo.com/proget/overview