Azure Pipelines: настройка прокси-окружения для NuGet Restore
Передайте процессу restore значения http_proxy и no_proxy, даже если NuGetAuthenticate уже настроил учётные данные для каналов.
NuGetAuthenticate настраивает проверку подлинности для каналов пакетов. Успешная задача проверки подлинности не настраивает исходящий прокси для dotnet, nuget.exe или MSBuild.
Если настройка учётных данных прошла успешно, а следующему restore нужен HTTP-прокси, передайте окружение этого процесса. Например:
- task: NuGetAuthenticate@1
- script: dotnet restore
env:
http_proxy: $(proxyUrl)
no_proxy: packages.corp.example,localhost,127.0.0.1proxyUrl — существующая переменная конвейера, содержащая нужный полный URL прокси. Настройте список обхода под фактическую политику маршрутизации каналов. Для публичных каналов, разрешённых через публичный посредник, список HTTP-прокси даёт кандидатов для proxyUrl без учётной записи; обходы приватных каналов оставьте на месте. Этот фрагмент предполагает, что источники пакетов проекта уже настроены.
В Linux и macOS документированные имена переменных окружения пишутся строчными буквами. Переменная конвейера с именем http_proxy может стать заглавной при автоматическом экспорте. Явное сопоставление env сохраняет ключ, необходимый инструменту.
Для самостоятельно размещённого агента другой вариант — задать эти значения в окружении процесса агента и перезапустить агент после изменения. Окружение другого терминала не обновляет уже работающую службу.
NuGet также поддерживает записи прокси в своей конфигурации. Держите их отдельно от учётных данных источников пакетов и проверяйте фактическую область действия конфигурации, когда restore выполняется под другой учётной записью.
Восстановленному пакету может потребоваться больше, чем первый URL канала. Если последующая загрузка пакета или узел проверки подлинности не работает, используйте это фактическое имя узла при оценке политики прокси и обхода.