Sdílet prostřednictvím


Spuštění vlastního agenta za webovým proxy

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Pokud váš agent v místním prostředí vyžaduje webový proxy server, můžete agenta informovat o proxy serveru během konfigurace. To umožňuje vašemu agentu připojit se ke službě Azure Pipelines nebo TFS prostřednictvím proxy serveru. To zase umožňuje agentu získat zdroje a stahovat artefakty. Nakonec předá podrobnosti o proxy serveru úkolům, které také potřebují nastavení proxy serveru, aby bylo možné se připojit k webu.

Azure Pipelines, TFS 2018 RTM a novější

(Platí pro agenta verze 2.122 a novější.)

Pokud chcete povolit spuštění agenta za webovým proxy serverem, předejte --proxyurl, --proxyusername a --proxypassword během konfigurace agenta.

Například:

./config.cmd --proxyurl http://127.0.0.1:8888 --proxyusername "myuser" --proxypassword "mypass"

Vaše přihlašovací údaje proxy serveru ukládáme zodpovědně na každou platformu, abychom zabránili náhodnému úniku informací. V Linuxu se přihlašovací údaje šifrují symetrickým klíčem na základě ID počítače. V systému macOS používáme řetězce klíčů. Ve Windows používáme Úložiště přihlašovacích údajů.

Poznámka:

Agent verze 122.0, který je součástí TFS 2018 RTM, má známý problém s konfigurací jako služba ve Windows. Vzhledem k tomu, že úložiště přihlašovacích údajů systému Windows je na uživatele, musíte agenta nakonfigurovat pomocí stejného uživatele, jako bude služba spuštěna. Chcete-li například nakonfigurovat službu agenta spustit jako mydomain\buildadmin, musíte spustit config.cmd jako mydomain\buildadmin. Můžete to udělat tak, že se přihlásíte k počítači s tímto uživatelem nebo pomocí Run as a different user v prostředí Windows.

Jak agent zpracovává proxy server v rámci úlohy sestavení nebo úlohy vydání

Agent bude komunikovat se službou Azure DevOps/TFS prostřednictvím webového proxy serveru zadaného v souboru .proxy.

Vzhledem k tomu, že kód úlohy Get Source v sestaveních a úlohy Download Artifact ve verzích jsou také obsaženy v agentovi, budou tyto úlohy používat konfiguraci proxy agenta ze souboru .proxy.

Agent zveřejňuje konfiguraci proxy serveru prostřednictvím proměnných prostředí pro každé spuštění úlohy. Autoři úloh musí k načtení konfigurace proxy serveru a zpracování proxy v rámci úlohy použít metody azure-pipelines-task- lib.

Všimněte si, že mnoho nástrojů automaticky nepoužívá nastavení proxy serveru nakonfigurovaného agentem. Například nástroje jako curl a dotnet mohou vyžadovat, aby proměnné prostředí proxy serveru jako http_proxy byly nastaveny také na počítači.

Určení adres URL pro obejití proxy serveru

V kořenovém adresáři agenta vytvořte soubor .proxybypass, který určuje regulární výrazy (v syntaxi ECMAScriptu), aby odpovídal adresám URL, které by měly proxy obejít. Například:

github\.com
bitbucket\.com

Povolení základního ověřování pro nastavení proxy serveru

Konfigurace agenta nemusí být kompatibilní s určitými podnikovými nastaveními proxy, které používají výchozí ověřování NTLM, a může se stát, že narazíte na 407 authentication errors. V takových případech můžete pro proxy server aktivovat základní ověřování přidáním příznaku --usebasicauthforproxy během konfigurace agenta, za předpokladu, že proxy server podporuje záložní základní ověřování.

Například:

./config.cmd --proxyurl http://proxy.company.com:port --proxyusername <userNamePlaceholder> --proxypassword <passwordPlaceholder> --usebasicauthforproxy