Свой собственный NuGet-сервер за 5 минут

Управление зависимостями одна из основных проблем в разработке ПО. .NET-разработчики чаще всего используют NuGet для установки различных библиотек, так как его поддержка есть в Visual Studio прямо из коробки. Да и чего греха таить, сейчас NuGet является чем-то вроде стандарта в .NET-мире.

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

Создайте проект ASP.NET Web Application

На странице выбора шаблона указываем Empty

Через nuget устанавливаем пакет NuGet.Server. Для этого можно воспользоваться командой

Install-Package NuGet.Server

Соглашаемся на перезапись web.config-а (если предложит)

Наш nuget-сервер готов. Теперь осталось только запустить сайт или установить его в локальный IIS/хостинг/Azure.

Для того, чтобы никто кроме вас не мог управлять пакетами на сервере, необходимо установить apiKey и requireApiKey в web.config.

<add key="requireApiKey" value="true"/>
<add key="apiKey" value="B6E10484-2F25-4DEA-90C7-8A6282273AA4"/>

Теперь для чтобы отправить новый пакет придется явно указывать apikey.

nuget push MyAssembly.1.0.0.nupkg -s http://[yourserver]/ [apiKey]

В моем случае это будет выглядеть как-то так.

nuget push MyAssembly.1.0.0.nupkg -s http:// localhost:53988/ B6E10484-2F25-4DEA-90C7-8A6282273AA4

Комментарии

Оставить комментарий