NuGetAuthenticate はパッケージ フィードへの認証を構成します。認証タスクが成功しても、dotnet、nuget.exe、MSBuild の送信プロキシは構成されません。

資格情報の設定が成功し、続く復元で HTTP プロキシが必要な場合は、そのプロセスの環境を指定します。たとえば次のとおりです。

- task: NuGetAuthenticate@1

- script: dotnet restore
  env:
    http_proxy: $(proxyUrl)
    no_proxy: packages.corp.example,localhost,127.0.0.1

proxyUrl は、意図した完全なプロキシ URL を保持する既存のパイプライン変数です。バイパス一覧は、実際のフィード ルーティング ポリシーに合わせて調整してください。パブリックな仲介者を経由して許可されるパブリック フィードでは、HTTP プロキシ一覧がアカウント不要の proxyUrl の候補を提供します。プライベート フィードのバイパスはそのまま残してください。この抜粋は、プロジェクトのパッケージ ソースが既に構成されていることを前提としています。

Linux と macOS では、ドキュメントに記載されている環境変数名は小文字です。http_proxy という名前のパイプライン変数は、自動エクスポート時に大文字になることがあります。env を明示的にマッピングすれば、ツールが必要とするキーが維持されます。

セルフホステッド エージェントの場合は、これらの値をエージェント プロセスの環境に設定し、変更後にそのエージェントを再起動する方法もあります。別のターミナルの環境は、既に実行中のサービスを更新しません。

NuGet は構成ファイル内のプロキシ エントリもサポートしています。これらはパッケージ ソースの資格情報とは分けて管理し、別のアカウントで復元が実行されるときは有効な構成スコープを確認してください。

復元されたパッケージは、フィードの最初の URL 以外を必要とする場合があります。後続のパッケージ ダウンロードや認証ホストが失敗する場合は、プロキシとバイパスのポリシーを評価するときに、その実際のホスト名を使用してください。

関連記事