Azure Pipelines: thiết lập môi trường proxy cho NuGet Restore
Cung cấp http_proxy và no_proxy cho tiến trình restore ngay cả khi NuGetAuthenticate đã cấu hình thông tin đăng nhập của feed.
NuGetAuthenticate cấu hình xác thực cho các feed gói. Một tác vụ xác thực thành công không cấu hình proxy gửi đi cho dotnet, nuget.exe hay MSBuild.
Nếu việc thiết lập thông tin đăng nhập thành công và lần restore tiếp theo cần proxy HTTP, hãy cung cấp môi trường cho tiến trình đó. Ví dụ:
- task: NuGetAuthenticate@1
- script: dotnet restore
env:
http_proxy: $(proxyUrl)
no_proxy: packages.corp.example,localhost,127.0.0.1proxyUrl là một biến pipeline sẵn có chứa URL proxy đầy đủ mong muốn. Điều chỉnh danh sách bỏ qua cho khớp với chính sách định tuyến thực tế của feed. Với các feed công khai được cho phép qua một trung gian công khai, danh sách proxy HTTP cung cấp các ứng viên cho proxyUrl không cần tài khoản; giữ nguyên các trường hợp bỏ qua của feed riêng tư. Đoạn này giả định các nguồn gói của dự án đã được cấu hình.
Trên Linux và macOS, tên biến môi trường được tài liệu hóa là chữ thường. Một biến pipeline tên http_proxy có thể thành chữ hoa khi được xuất tự động. Ánh xạ env tường minh giữ lại khóa mà công cụ cần.
Với một agent tự lưu trữ, lựa chọn khác là đặt các giá trị này trong môi trường của tiến trình agent và khởi động lại agent đó sau khi thay đổi. Môi trường của một terminal khác không cập nhật một dịch vụ đang chạy.
NuGet cũng hỗ trợ các mục proxy trong cấu hình của nó. Hãy giữ chúng tách biệt khỏi thông tin đăng nhập của nguồn gói, và kiểm tra phạm vi cấu hình hiệu lực khi một lần restore chạy dưới tài khoản khác.
Một gói đã khôi phục có thể cần nhiều hơn URL đầu tiên của feed. Nếu một lần tải gói hoặc máy chủ xác thực sau đó thất bại, hãy dùng đúng tên máy chủ thực tế đó khi đánh giá chính sách proxy và bỏ qua.