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