Как настроить собственный Nuget-сервер
Многие компании сталкиваются с необходимостью иметь собственный локальный Nuget-сервер для хостинга внтуренних разработок и фреймворков. Одним из наиболее простых вариантов является общая сетевая папка, где могут хранится все пакеты. Однако, это не всегда удобно и более правильным решением будет хостинг веб-приложения, которое и будет выполнять роль Nuget-сервера.
Чтобы создать Nuget-сервер необходимо выполнить несколько несложных шагов.
Создание нового веб-приложения и добавление Nuget-библиотек
Для начала создадим новое пустое ASP.NET приложение и установим в него пакет NuGet.Server
.
Install-Package NuGet.Server
Заготовка для нашего Nuget-сервера готова.
Настройка параметров сервера
Перед использованием Nuget, необходимо задать несколько параметров в конфигурационном файле web.config
. Все параметры определены в секции appSettings
.
Один из обязательных параметров - это packagesPath
, он указывает на папку, в которой будут хранится все пакеты для данного сервера.
<appSettings>
<add key="apiKey" value="C:\Packages\" />
</appSettings>
Другие два важных параметра —
- Флаг
requireApiKey
, который указывает на необходимость предоставления ключа для управления пакетами на сервере. Если этот параметр установлен вtrue
, то сервер в обязательном порядке будет требовать предоставление ключа. - Ключ
apiKey
- собственно, сам ключ, который будет использоваться для взаимодействия с сервером. Если флагrequireApiKey
будет установлен вtrue
, а значениеapiKey
будет пустым, то публикация пакетов на сервер будет заблокирована.
<appSettings>
<add key="requireApiKey" value="true" />
<add key="apiKey" value="1ab183523cx7usf" />
</appSettings>
Запуск сервера
Наш Nuget-сервер готов и его можно запускать как обычное ASP.NET приложение.
При запуске приложения локально, можно обратиться по адресу http://localhost:[port]/nuget
и получить текущую ленту пакетов.
Для публикации своих пакетов на сервер можно воспользоваться следующим синтаксисом утилиты nuget.exe
:
nuget push {package file} -s http://localhost:[port]/ {apikey}
Публикация
Когда сервер настроен и протестирован, его следует опубликовать на сервер IIS. Процедура публикации не отличается от любого другого веб-приложения. Например, вы можете воспользоваться встроенным средством публикации веб-приложений в Visual Studio.
Подключение к Visual Studio
Теперь, для того, чтобы использовать только что созданный сервер в Visual Stuido, необходимо в настройках VS указать адрес этого Nuget-сервера. Для этого следует открыть настройки в меню Visual Studio Tools
→ Options
→ Package Manager
→ Package Sources
и добавить там адрес только что созданного Nuget-сервера.
Ваш собственный Nuget-сервер готов к использованию.
Добавить комментарий