Безопасный способ включить частный источник NuGet в контейнер Docker - PullRequest
0 голосов
/ 24 июня 2019

Я настраиваю контейнер Docker для своего сервера ASP.NET Core и должен найти безопасный способ восстановления пакетов NuGet перед сборкой и запуском проекта.

Мне удалось смонтировать диск, содержащий новый файл NuGet.config, созданный исключительно для этой цели, так как моя команда не включает файл конфигурации в качестве части репозитория Git, но чувствует себя неправильно.
Поскольку официальный образ Docker для .NET Core runtime / sdk не включает в себя nuget как часть библиотеки, некоторые предлагают загрузить образ windows только для запуска nuget source add, но это тоже ужасно.

Мой Dockerfile:

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS base
WORKDIR /app
EXPOSE 5050

FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build
WORKDIR /src
COPY . .

#Config file needs to be in root of solution or in User/share
RUN dotnet restore "MyProject.csproj"

Добавление частного источника NuGet должно быть достижимо без загрузки образа Windows объемом 2 ГБ или копирования существующего файла конфигурации, содержащего пароль.

Ответы [ 2 ]

1 голос
/ 24 июня 2019

Иметь файл nuget.config, в котором перечислены только источники пакетов, а не учетные данные, которые фиксируются в вашем репо с вашим исходным кодом.

Используйте поставщиков межплатформенной аутентификации , чтобы позволить разработчикам и компьютерам CI проходить аутентификацию в ваших личных каналах.

0 голосов
/ 24 июня 2019

установить исходный путь к nuget недостаточно?

RUN dotnet restore -s https://api.nuget.org/v3/index.json -s https://my-local-private-nuget-source/nuget/nuget
...