Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
セルフホステッド エージェントで Web プロキシが必要な場合は、構成時にエージェントにプロキシについて通知できます。 これにより、エージェントはプロキシ経由で Azure Pipelines または TFS に接続できます。 これにより、エージェントはソースを取得し、成果物をダウンロードできます。 最後に、Web に到達するためにプロキシ設定も必要なタスクにプロキシの詳細を渡します。
Azure Pipelines、TFS 2018 RTM 以降
(エージェント バージョン 2.122 以降に適用されます)。
エージェントを Web プロキシの背後で実行できるようにするには、エージェントの構成時に --proxyurl、 --proxyusername 、 --proxypassword を渡します。
例えば次が挙げられます。
./config.cmd --proxyurl http://127.0.0.1:8888 --proxyusername "myuser" --proxypassword "mypass"
プロキシ資格情報は、偶発的な漏洩を防ぐために、各プラットフォームに責任を持って保存されます。 Linux では、資格情報はマシン ID に基づいて対称キーで暗号化されます。 macOS では、キーチェーンを使用します。 Windows では、資格情報ストアを使用します。
注
TFS 2018 RTM に付属しているエージェント バージョン 122.0 には、Windows でのサービスとしての構成に関する既知の問題があります。
Windows 資格情報ストアはユーザーごとに行われるため、サービスが実行されるのと同じユーザーを使用してエージェントを構成する必要があります。 たとえば、エージェント サービスの実行をmydomain\buildadminとして構成するには、config.cmdとしてmydomain\buildadminを起動する必要があります。 これを行うには、そのユーザーを使用してマシンにログインするか、Windows シェルで Run as a different user を使用します。
ビルド ジョブまたはリリース ジョブ内でエージェントがプロキシを処理する方法
エージェントは、 .proxy ファイルで指定された Web プロキシを介して Azure DevOps/TFS サービスと通信します。
ビルド内の Get Source タスクとリリースの Download Artifact タスクのコードもエージェントに組み込まれるため、これらのタスクは .proxy ファイルのエージェント プロキシ構成に従います。
エージェントは、タスクの実行ごとに環境変数を使用してプロキシ構成を公開します。 タスク作成者は 、azure-pipelines-task-lib メソッドを使用してプロキシ構成を取得し、タスク内 でプロキシを処理する 必要があります。
多くのツールでは、エージェントで構成されたプロキシ設定が自動的に使用されないことに注意してください。 たとえば、 curl や dotnet などのツールでは、 http_proxy などのプロキシ環境変数もコンピューターに設定する必要があります。
プロキシ バイパス URL を指定する
プロキシをバイパスする URL と一致する正規表現 (ECMAScript 構文) を指定する .proxybypass ファイルをエージェントのルート ディレクトリに作成します。 例えば次が挙げられます。
github\.com
bitbucket\.com
プロキシセットアップの基本認証を有効にする
エージェントの構成は、既定のNTLM認証を使用する特定の企業プロキシ設定と互換性がない可能性があり、その結果として407 authentication errorsが発生することがあります。 このような場合は、プロキシが基本認証へのフォールバックをサポートしている場合、エージェントの構成中に --usebasicauthforproxy フラグを追加することで、プロキシの基本認証を有効にすることができます。
例えば次が挙げられます。
./config.cmd --proxyurl http://proxy.company.com:port --proxyusername <userNamePlaceholder> --proxypassword <passwordPlaceholder> --usebasicauthforproxy