Ausführen eines selbstgehosteten Agents hinter einem Webproxy

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

Wenn für Ihren selbstgehosteten Agent ein Webproxy erforderlich ist, können Sie den Agent während der Konfiguration über den Proxy informieren. Dadurch kann Ihr Agent über den Proxy eine Verbindung mit Azure Pipelines oder TFS herstellen. Dies wiederum ermöglicht es dem Agent, Quellen abzurufen und Artefakte herunterzuladen. Schließlich werden die Proxydetails an Tasks übergeben, die ebenfalls Proxyeinstellungen benötigen, um das Web zu erreichen.

Azure Pipelines, TFS 2018 RTM und höher

(Gilt für Agent-Version 2.122 und höher.)

Damit der Agent hinter einem Webproxy ausgeführt werden kann, übergeben Sie --proxyurl, --proxyusername und --proxypassword während der Agent-Konfiguration.

Beispiel:

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

Wir speichern Ihre Proxy-Anmeldeinformationen verantwortungsbewusst auf jeder Plattform, um versehentliche Lecks zu verhindern. Unter Linux werden die Anmeldeinformationen mit einem symmetrischen Schlüssel basierend auf der Computer-ID verschlüsselt. Unter macOS verwenden wir die Keychain. Unter Windows verwenden wir Credential Store.

Hinweis

Agent-Version 122.0, die mit TFS 2018 RTM ausgeliefert wurde, weist ein bekanntes Problem beim Konfigurieren als Dienst unter Windows auf. Da Windows Credential Store pro Benutzer verwendet wird, müssen Sie den Agent mit demselben Benutzer konfigurieren, als der der Dienst ausgeführt wird. Um beispielsweise den Agent-Dienst zu konfigurieren, der als mydomain\buildadmin ausgeführt wird, müssen Sie config.cmd als mydomain\buildadmin starten. Dazu können Sie sich als dieser Benutzer beim Computer anmelden oder Run as a different user in der Windows-Shell verwenden.

Verarbeitung des Proxys innerhalb eines Build- oder Releaseauftrags durch den Agent

Der Agent kommuniziert über den in der Datei .proxy angegebenen Webproxy mit dem Azure DevOps-/TFS-Dienst.

Da der Code für den Get Source-Task in Builds und den Download Artifact-Task in Releases ebenfalls in den Agent integriert wird, folgen diese Tasks der Agent-Proxykonfiguration aus der Datei .proxy.

Der Agent macht die Proxykonfiguration über Umgebungsvariablen für jede Taskausführung verfügbar. Taskersteller müssen azure-pipelines-task-lib-Methoden verwenden, um die Proxykonfiguration abzurufen und den Proxy innerhalb ihres Tasks zu verarbeiten.

Beachten Sie, dass viele Tools nicht automatisch die vom Agent konfigurierten Proxyeinstellungen verwenden. Für Tools wie curl und dotnet kann es beispielsweise erforderlich sein, dass Proxyumgebungsvariablen wie http_proxy ebenfalls auf dem Computer festgelegt sind.

Angeben von Proxyumgehungs-URLs

Erstellen Sie eine Datei .proxybypass im Stammverzeichnis des Agents, die reguläre Ausdrücke (in ECMAScript-Syntax) angibt, um URLs abzugleichen, die den Proxy umgehen sollen. Beispiel:

github\.com
bitbucket\.com