Azure Pipelines: konfiguracja środowiska proxy dla NuGet Restore
Przekaż procesowi restore zmienne http_proxy i no_proxy, nawet gdy NuGetAuthenticate już skonfigurował poświadczenia kanałów.
NuGetAuthenticate konfiguruje uwierzytelnianie do kanałów pakietów. Udane zadanie uwierzytelniania nie konfiguruje jednak wychodzącego serwera proxy dla dotnet, nuget.exe ani MSBuild.
Jeśli konfiguracja poświadczeń się powiedzie, a kolejny restore wymaga serwera proxy HTTP, przekaż środowisko tego procesu. Na przykład:
- task: NuGetAuthenticate@1
- script: dotnet restore
env:
http_proxy: $(proxyUrl)
no_proxy: packages.corp.example,localhost,127.0.0.1proxyUrl to istniejąca zmienna potoku zawierająca docelowy pełny adres URL serwera proxy. Dostosuj listę wyjątków do rzeczywistej polityki routingu kanałów. Dla publicznych kanałów dozwolonych przez publiczny pośrednik lista serwerów proxy HTTP podaje kandydatów do proxyUrl bez konta; zachowaj wyjątki dla prywatnych kanałów. Ten fragment zakłada, że źródła pakietów projektu są już skonfigurowane.
W systemach Linux i macOS udokumentowane nazwy zmiennych środowiskowych są pisane małymi literami. Zmienna potoku o nazwie http_proxy może zostać zapisana wielkimi literami przy automatycznym eksporcie. Jawne mapowanie env zachowuje klucz potrzebny narzędziu.
W przypadku agenta hostowanego samodzielnie inną opcją jest ustawienie tych wartości w środowisku procesu agenta i ponowne uruchomienie agenta po ich zmianie. Środowisko innego terminala nie aktualizuje już działającej usługi.
NuGet obsługuje także wpisy proxy w swojej konfiguracji. Trzymaj je oddzielnie od poświadczeń źródeł pakietów i sprawdzaj rzeczywisty zakres konfiguracji, gdy restore działa na innym koncie.
Przywrócony pakiet może wymagać więcej niż pierwszego adresu URL kanału. Jeśli późniejsze pobranie pakietu lub host uwierzytelniania zawiedzie, użyj tej rzeczywistej nazwy hosta przy ocenie polityki proxy i wyjątków.