Web プロキシの内側でセルフホステッド エージェントを実行する

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

セルフホステッド エージェントに 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.cmdmydomain\buildadmin として起動する必要があります。 これを行うには、そのユーザーでマシンにログインするか、Windows シェルで Run as a different user を使用します。

エージェントがビルド ジョブまたはリリース ジョブ内でプロキシを処理する方法

エージェントでは、.proxy ファイルで指定された Web プロキシを介して Azure DevOps/TFS サービスと通信します。

ビルド内の Get Source タスクとリリース内の Download Artifact タスクのコードもエージェントにベイクされるため、これらのタスクは .proxy ファイルのエージェント プロキシ構成に従います。

エージェントでは、タスクの実行ごとに環境変数を使ってプロキシ構成を公開します。 タスク作成者は、azure-pipelines-task-lib メソッドを使ってプロキシ構成を取得し、タスク内でプロキシを処理する必要があります。

多くのツールでは、エージェントで構成されたプロキシ設定が自動的には使用されないことに注意してください。 たとえば、curldotnet などのツールでは、http_proxy などのプロキシ環境変数もマシンで設定する必要があります。

プロキシ バイパス URL を指定する

プロキシをバイパスする URL と一致する正規表現を (ECMAScript 構文で) 指定する .proxybypass ファイルを、エージェントのルート ディレクトリに作成します。 次に例を示します。

github\.com
bitbucket\.com