Selbstgehostete Linux-Agents

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019 | TFS 2018

Hinweis

In Microsoft Team Foundation Server (TFS) 2018 und früheren Versionen werden Build- und Release-Pipelines als Definitionen bezeichnet, Ausführungen werden als Builds bezeichnet, Dienstverbindungen werden als Dienstendpunkte bezeichnet, Stages werden als Umgebungen bezeichnet und Aufträge werden als Phasen bezeichnet.

Zum Ausführen Ihrer Aufträge benötigen Sie mindestens einen Agent. Ein Linux-Agent kann verschiedene Arten von Apps erstellen und bereitstellen, einschließlich Java- und Android-Apps. Wir unterstützen Ubuntu, Red Hat und CentOS.

Vorbereitungen

  • Wenn sich Ihre Pipelines in Azure Pipelines befinden und ein Microsoft gehosteter Agent Ihren Anforderungen entspricht, können Sie die Einrichtung eines privaten Linux-Agents überspringen.
  • Andernfalls sind Sie an der richtigen Stelle, um einen Agent unter Linux einzurichten. Sie können nun mit folgendem Artikel fortfahren:

Informationen zu Agents

Wenn Sie bereits wissen, was ein Agent ist und wie er funktioniert, können Sie direkt mit den folgenden Abschnitten fortfahren. Wenn Sie jedoch mehr Hintergrundinformationen dazu benötigen, was sie tun und wie sie funktionieren, lesen Sie Azure Pipelines-Agents.

Überprüfen der Voraussetzungen

Der Agent basiert auf .NET Core 3.1. Sie können diesen Agent auf mehreren Linux-Distributionen ausführen. Wir unterstützen die folgende Teilmenge der von .NET Core unterstützten Verteilungen:

  • x64
    • CentOS 7, 6 (siehe Hinweis 1)
    • Debian 9
    • Fedora 30, 29
    • Linux Mint 18, 17
    • openSUSE 42.3 oder höher
    • Oracle Linux 8, 7
    • Red Hat Enterprise Linux 8, 7, 6 (siehe Hinweis 1)
    • SUSE Enterprise Linux 12 SP2 oder höher
    • Ubuntu 20.04, 18.04, 16.04
    • CBL-Mariner 1.0 (siehe Hinweis 3)
  • ARM32 (siehe Hinweis 2)
    • Debian 9
    • Ubuntu 18.04
  • ARM64
    • Debian 9
    • Ubuntu 21.04, 20.04, 18.04

Hinweis

Hinweis 1: RHEL 6 und CentOS 6 erfordern die Installation der spezialisierten rhel.6-x64 Version des Agents.

Hinweis

Hinweis 2: ARM-Befehlssatz ARMv7 oder höher ist erforderlich. Führen Sie aus uname -a , um den Befehlssatz Ihrer Linux-Distribution anzuzeigen.

Hinweis

Die Mariner-Betriebssystemverteilung wird derzeit teilweise vom Azure DevOps-Agent unterstützt. Wir bieten einen Mechanismus für die Erkennung dieser Betriebssystemverteilung im installdependencies.sh Skript, aber aufgrund fehlender Unterstützung von .NET Core Seite konnten wir nicht die vollständige Funktionsfähigkeit aller Agentfunktionen garantieren, wenn sie auf dieser Betriebssystemverteilung ausgeführt werden.

Unabhängig von Ihrer Plattform müssen Sie Git 2.9.0 oder höher installieren. Es wird dringend empfohlen, die neueste Version von Git zu installieren.

Hinweis

Das Agent-Installationsprogramm weiß, wie nach anderen Abhängigkeiten gesucht werden kann. Sie können diese Abhängigkeiten auf unterstützten Linux-Plattformen installieren, indem Sie im Agent-Verzeichnis ausführen ./bin/installdependencies.sh .

Beachten Sie, dass einige dieser für .NET Core erforderlichen Abhängigkeiten von Websites von Drittanbietern abgerufen werden, z. B packages.efficios.com. . Überprüfen Sie das installdependencies.sh Skript, und stellen Sie sicher, dass auf alle Websites von Drittanbietern von Ihrem Linux-Computer aus zugegriffen werden kann, bevor Sie das Skript ausführen.

Stellen Sie außerdem sicher, dass alle erforderlichen Repositorys mit dem relevanten Paket-Manager verbunden sind, der in installdependencies.sh verwendet wird (z. B apt . oder zypper).

Bei Problemen mit der Installation von Abhängigkeiten (z. B. "Abhängigkeit wurde im Repository nicht gefunden" oder "Problem beim Abrufen der Repositoryindexdatei") können Sie sich an den Verteilungsbesitzer wenden, um weitere Unterstützung zu erhalten.

TFS 2018 RTM und älter: Der ausgelieferte Agent basiert auf CoreCLR 1.0. Wenn möglich, sollten Sie ein Upgrade auf eine höhere Agent-Version (2.125.0 oder höher) durchführen. Weitere Informationen zum Ausführen eines neueren Agents finden Sie unter Prereqs des Azure Pipelines-Agents .

Wenn Sie den älteren Agent verwenden müssen, stellen Sie sicher, dass Ihr Computer mit unseren Voraussetzungen für eine der unterstützten Distributionen vorbereitet ist:

Subversion

Wenn Sie aus einem Subversion-Repository erstellen, müssen Sie den Subversion-Client auf dem Computer installieren.

Sie sollten das Agent-Setup beim ersten Mal manuell ausführen. Nachdem Sie ein Gefühl für die Funktionsweise von Agents erhalten oder die Einrichtung vieler Agents automatisieren möchten, sollten Sie die unbeaufsichtigte Konfiguration verwenden.

TFVC

Wenn Sie TFVC verwenden, benötigen Sie auch Oracle Java JDK 1.6 oder höher. (Oracle JRE und OpenJDK reichen für diesen Zweck nicht aus.)

Das TEE-Plug-In wird für die TFVC-Funktionalität verwendet. Es verfügt über eine EULA, die Sie während der Konfiguration akzeptieren müssen, wenn Sie mit TFVC arbeiten möchten.

Da das TEE-Plug-In nicht mehr verwaltet wird und einige veraltete Java-Abhängigkeiten enthält, ist es ab Agent 2.198.0 nicht mehr in der Agentverteilung enthalten. Das TEE-Plug-In wird jedoch während der Ausführung des Auscheckvorgangs heruntergeladen, wenn Sie ein TFVC-Repository auschecken. Das TEE-Plug-In wird nach der Auftragsausführung entfernt.

Hinweis

Hinweis: Möglicherweise bemerken Sie, dass Ihre Auscheckaufgabe aufgrund dieses Downloadmechanismus lange dauert, bis sie funktioniert.

Wenn der Agent hinter einem Proxy oder einer Firewall ausgeführt wird, müssen Sie den Zugriff auf die folgende Website sicherstellen: https://vstsagenttools.blob.core.windows.net/. Das TEE-Plug-In wird von dieser Adresse heruntergeladen.

Wenn Sie einen selbstgehosteten Agent verwenden und Probleme beim Herunterladen von TEE auftreten, können Sie TEE manuell installieren:

  1. Legen Sie DISABLE_TEE_PLUGIN_REMOVAL die Umgebungs- oder Pipelinevariable auf fest true. Diese Variable verhindert, dass der Agent das TEE-Plug-In nach dem Auschecken des TFVC-Repositorys entfernt.
  2. Laden Sie TEE-CLC Version 14.135.0 manuell von Team Explorer Everywhere GitHub-Versionen herunter.
  3. Extrahieren Sie den Inhalt des Ordners TEE-CLC-14.135.0 in <agent_directory>/externals/tee.

Vorbereiten von Berechtigungen

Informationssicherheit für selbstgehostete Agents

Der Benutzer, der den Agent konfiguriert, benötigt Pooladministratorberechtigungen, der Benutzer, der den Agent ausführt, nicht.

Die vom Agent kontrollierten Ordner sollten auf so wenige Benutzer wie möglich beschränkt sein und Geheimnisse enthalten, die entschlüsselt oder exfiltriert werden könnten.

Der ADO-Pipelines-Agent ist ein Softwareprodukt, das zum Ausführen von Code entwickelt wurde, den er aus externen Quellen herunterlädt. Es kann von Natur aus ein Ziel für RCE-Angriffe (Remote Code Execution) sein.

Daher ist es wichtig, das Bedrohungsmodell zu berücksichtigen, das jede einzelne Verwendung von Pipelines-Agents für die Ausführung von Aufgaben umgibt, und zu entscheiden, welche Mindestberechtigungen dem Benutzer gewährt werden können, der den Agent ausführt, dem Computer, auf dem der Agent ausgeführt wird, den Benutzern, die Schreibzugriff auf die Pipelinedefinition und die Git-Repositorys haben, auf denen der Yaml gespeichert ist. oder die Gruppe von Benutzern, die den Zugriff auf den Pool für neue Pipelines steuern.

Es ist eine bewährte Methode, dass sich die Identität, die den Agent ausführt, von der Identität mit Berechtigungen unterscheidet, um den Agent mit dem Pool zu verbinden. Der Benutzer, der die Anmeldeinformationen (und andere mit dem Agent verbundene Dateien) generiert, unterscheidet sich von dem Benutzer, der sie lesen muss. Daher ist es sicherer, den Zugriff auf den Agent-Computer selbst und die Agent-Ordner, die vertrauliche Dateien wie Protokolle und Artefakte enthalten, sorgfältig zu berücksichtigen.

Es ist sinnvoll, nur DevOps-Administratoren und der Benutzeridentität, die den Agent-Prozess ausführt, Zugriff auf den Agent-Ordner zu gewähren. Administratoren müssen möglicherweise das Dateisystem untersuchen, um Buildfehler zu verstehen oder Protokolldateien abzurufen, um Azure DevOps-Fehler melden zu können.

Entscheiden, welchen Benutzer Sie verwenden möchten

Als einmaliger Schritt müssen Sie den Agent registrieren. Jemand, der die Berechtigung zum Verwalten der Agent-Warteschlange hat, muss diese Schritte ausführen. Der Agent verwendet die Anmeldeinformationen dieser Person nicht im täglichen Betrieb, aber sie müssen die Registrierung abschließen. Erfahren Sie mehr über die Kommunikation von Agents.

Authentifizieren mit einem persönlichen Zugriffstoken (PAT)

  1. Melden Sie sich mit dem Benutzerkonto an, das Sie in Ihrem Team Foundation Server-Webportal verwenden möchten (https://{your-server}:8080/tfs/).
  1. Melden Sie sich mit dem Benutzerkonto an, das Sie in Ihrem Azure DevOps Server Webportal (https://{your-server}/DefaultCollection/) verwenden möchten.
  1. Melden Sie sich mit dem Benutzerkonto an, das Sie in Ihrer Azure DevOps-Organisation (https://dev.azure.com/{your_organization}) verwenden möchten.
  1. Öffnen Sie auf Ihrer Startseite Ihr Profil. Wechseln Sie zu Ihren Sicherheitsdetails.

    Wechseln Sie zu Ihren Sicherheitsdetails.

  2. Erstellen Sie ein persönliches Zugriffstoken.

    Erstellen Sie ein persönliches Zugriffstoken.

    Hinweis

    Wenn Sie einen Bereitstellungsgruppen-Agent konfigurieren oder wenn beim Registrieren einer VM-Umgebungsressource ein Fehler angezeigt wird, müssen Sie den PAT-Bereich auf Alle organisationen festlegen, auf die zugegriffen werden kann. Screenshot: Festlegen des PAT-Bereichs für alle zugänglichen Organisationen

  1. Öffnen Sie über die Startseite Ihre Benutzereinstellungen, und wählen Sie dann Persönliche Zugriffstoken aus.

    Wechseln Sie zu Ihren Sicherheitsdetails.

  2. Erstellen Sie ein persönliches Zugriffstoken.

    Erstellen Sie ein persönliches Zugriffstoken.

  1. Wählen Sie für den Bereich Agentpools (Lesen, Verwalten) aus, und stellen Sie sicher, dass alle anderen Felder deaktiviert sind. Wenn es sich um einen Bereitstellungsgruppen-Agent handelt, wählen Sie für den Bereich Bereitstellungsgruppe (Lesen, Verwalten) aus, und stellen Sie sicher, dass alle anderen Felder deaktiviert sind.

    Wählen Sie unten im Fenster Neues persönliches Zugriffstoken erstellen die Option Alle Bereiche anzeigen aus, um die vollständige Liste der Bereiche anzuzeigen.

  2. Kopieren Sie das Token. Sie verwenden dieses Token beim Konfigurieren des Agents.

Vergewissern Sie sich, dass der Benutzer über die Berechtigung verfügt.

Stellen Sie sicher, dass das Benutzerkonto, das Sie verwenden möchten, über die Berechtigung zum Registrieren des Agents verfügt.

Ist der Benutzer Besitzer der Azure DevOps-Organisation oder TFS oder Azure DevOps Server Administrator? Halten Sie hier an, Sie haben die Berechtigung.

Andernfalls:

  1. Öffnen Sie einen Browser, und navigieren Sie zur Registerkarte Agentpools für Ihre Azure Pipelines-Organisation oder Azure DevOps Server- oder TFS-Server:

    1. Wählen Sie Azure DevOps, Organisationseinstellungen aus.

      Wählen Sie Organisationseinstellungen aus.

    2. Wählen Sie Agentpools aus.

      Wählen Sie die Registerkarte Agentpools aus.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungen aus.

      Wählen Sie Sammlungseinstellungen aus.

    2. Wählen Sie Agentpools aus.

      Wählen Sie Agentpools aus.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungen aus.

      Sammlungseinstellungen, 2019.

    2. Wählen Sie Agentpools aus.

      Wählen Sie Agentpools, 2019 aus.

    1. Navigieren Sie zu Ihrem Projekt, und wählen Sie Einstellungen (Zahnradsymbol) >Agent-Warteschlangen aus.

      Wählen Sie Einstellungen, Agentwarteschlangen, 2018 aus.

    2. Wählen Sie Pools verwalten aus.

      Wählen Sie Pools verwalten aus, 2018.

  2. Wählen Sie den Pool rechts auf der Seite aus, und klicken Sie dann auf Sicherheit.

  3. Wenn das Benutzerkonto, das Sie verwenden möchten, nicht angezeigt wird, rufen Sie einen Administrator zum Hinzufügen auf. Der Administrator kann ein Agentpooladministrator, ein Azure DevOps-Organisationsbesitzer oder ein TFS- oder Azure DevOps Server-Administrator sein.

    Wenn es sich um einen Bereitstellungsgruppen-Agent handelt, kann der Administrator ein Bereitstellungsgruppenadministrator, ein Besitzer einer Azure DevOps-Organisation oder ein TFS- oder Azure DevOps Server-Administrator sein.

    Sie können auf der Seite Bereitstellungsgruppen in Azure Pipelines auf der Registerkarte Sicherheit einen Benutzer der Rolle "Bereitstellungsgruppen" hinzufügen.

Hinweis

Wenn eine Meldung wie die folgende angezeigt wird: Leider konnten wir die Identität nicht hinzufügen. Versuchen Sie es mit einer anderen Identität. Haben Sie wahrscheinlich die oben genannten Schritte für einen Organisationsbesitzer oder TFS oder Azure DevOps Server Administrator ausgeführt. Sie müssen nichts tun. Sie verfügen bereits über die Berechtigung zum Verwalten der Agent-Warteschlange.

Herunterladen und Konfigurieren des Agents

Azure Pipelines

  1. Melden Sie sich beim Computer mit dem Konto an, für das Sie berechtigungen wie oben erläutert vorbereitet haben.

  2. Melden Sie sich in Ihrem Webbrowser bei Azure Pipelines an, und navigieren Sie zur Registerkarte Agentpools :

    1. Wählen Sie Azure DevOps, Organisationseinstellungen aus.

      Wählen Sie Organisationseinstellungen aus.

    2. Wählen Sie Agentpools aus.

      Wählen Sie die Registerkarte Agentpools aus.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungen aus.

      Wählen Sie Sammlungseinstellungen aus.

    2. Wählen Sie Agentpools aus.

      Wählen Sie Agentpools aus.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungen aus.

      Sammlungseinstellungen, 2019.

    2. Wählen Sie Agentpools aus.

      Wählen Sie Agentpools, 2019 aus.

    1. Navigieren Sie zu Ihrem Projekt, und wählen Sie Einstellungen (Zahnradsymbol) >Agent-Warteschlangen aus.

      Wählen Sie Einstellungen, Agentwarteschlangen, 2018 aus.

    2. Wählen Sie Pools verwalten aus.

      Wählen Sie Pools verwalten aus, 2018.

  3. Wählen Sie den Standardpool , die Registerkarte Agents und dann Neuer Agent aus.

  4. Klicken Sie im Dialogfeld Agent abrufen auf Linux.

  5. Wählen Sie im linken Bereich die bestimmte Variante aus. Wir bieten x64 oder ARM für die meisten Linux-Distributionen an. Wir bieten auch einen spezifischen Build für Red Hat Enterprise Linux 6 an.

  6. Klicken Sie im rechten Bereich auf die Schaltfläche Herunterladen .

  7. Befolgen Sie die Anweisungen auf der Seite.

  8. Entpacken Sie den Agent in das Verzeichnis Ihrer Wahl. cd in dieses Verzeichnis, und führen Sie aus ./config.sh.

Azure DevOps Server 2019 und Azure DevOps Server 2020

  1. Melden Sie sich beim Computer mit dem Konto an, für das Sie berechtigungen wie oben erläutert vorbereitet haben.

  2. Melden Sie sich in Ihrem Webbrowser bei Azure DevOps Server 2019 an, und navigieren Sie zur Registerkarte Agentpools:

    1. Wählen Sie Azure DevOps, Organisationseinstellungen aus.

      Wählen Sie Organisationseinstellungen aus.

    2. Wählen Sie Agentpools aus.

      Wählen Sie die Registerkarte Agentpools aus.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungen aus.

      Wählen Sie Sammlungseinstellungen aus.

    2. Wählen Sie Agentpools aus.

      Wählen Sie Agentpools aus.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungen aus.

      Sammlungseinstellungen, 2019.

    2. Wählen Sie Agentpools aus.

      Wählen Sie Agentpools, 2019 aus.

    1. Navigieren Sie zu Ihrem Projekt, und wählen Sie Einstellungen (Zahnradsymbol) >Agent-Warteschlangen aus.

      Wählen Sie Einstellungen, Agentwarteschlangen, 2018 aus.

    2. Wählen Sie Pools verwalten aus.

      Wählen Sie Pools verwalten aus, 2018.

  3. Klicken Sie auf Agent herunterladen.

  4. Klicken Sie im Dialogfeld Agent abrufen auf Linux.

  5. Wählen Sie im linken Bereich die bestimmte Variante aus. Wir bieten x64 oder ARM für die meisten Linux-Distributionen an. Wir bieten auch einen spezifischen Build für Red Hat Enterprise Linux 6 an.

  6. Klicken Sie im rechten Bereich auf die Schaltfläche Herunterladen .

  7. Befolgen Sie die Anweisungen auf der Seite.

  8. Entpacken Sie den Agent in das Verzeichnis Ihrer Wahl. cd in dieses Verzeichnis, und führen Sie aus ./config.sh.

TFS 2018

  1. Melden Sie sich beim Computer mit dem Konto an, für das Sie berechtigungen wie oben erläutert vorbereitet haben.

  2. Melden Sie sich in Ihrem Webbrowser bei TFS an, und navigieren Sie zur Registerkarte Agentpools :

    1. Navigieren Sie zu Ihrem Projekt, und wählen Sie Einstellungen (Zahnradsymbol) >Agent-Warteschlangen aus.

      Wählen Sie Einstellungen, Agentwarteschlangen, 2018 aus.

    2. Wählen Sie Pools verwalten aus.

      Wählen Sie Pools verwalten aus, 2018.

  3. Klicken Sie auf Agent herunterladen.

  4. Klicken Sie im Dialogfeld Agent abrufen auf Linux.

  5. Klicken Sie auf die Schaltfläche Herunterladen .

  6. Befolgen Sie die Anweisungen auf der Seite.

  7. Entpacken Sie den Agent in das Verzeichnis Ihrer Wahl. cd in dieses Verzeichnis, und führen Sie aus ./config.sh. Stellen Sie sicher, dass der Pfad zum Verzeichnis keine Leerzeichen enthält, da Tools und Skripts Leerzeichen nicht immer ordnungsgemäß escapen.

Server-URL

Azure Pipelines: https://dev.azure.com/{your-organization}

Azure DevOps Server 2019:https://{your_server}/DefaultCollection

TFS 2018: https://{your_server}/tfs

Authentifizierungsart

Azure Pipelines

Wählen Sie PAT aus, und fügen Sie dann das von Ihnen erstellte PAT-Token in das Eingabeaufforderungsfenster ein.

Hinweis

Bei Verwendung von PAT als Authentifizierungsmethode wird das PAT-Token nur für die Erstkonfiguration des Agents verwendet. Weitere Informationen finden Sie unter Kommunikation mit Azure Pipelines oder TFS.

TFS oder Azure DevOps Server

Wenn Sie Ihren Agent für die Verbindung mit TFS konfigurieren, haben Sie die folgenden Optionen:

  • Alternative Stellen Sie mithilfe der Standardauthentifizierung eine Verbindung mit TFS oder Azure DevOps Server her. Nachdem Sie Alternativ ausgewählt haben, werden Sie zur Eingabe Ihrer Anmeldeinformationen aufgefordert.

  • Integrierte Wird unter macOS oder Linux nicht unterstützt.

  • Aushandlung (Standard) Stellen Sie eine Verbindung mit TFS oder Azure DevOps Server als einen anderen Benutzer als den angemeldeten Benutzer über ein Windows-Authentifizierung-Schema wie NTLM oder Kerberos her. Nachdem Sie Verhandeln ausgewählt haben, werden Sie zur Eingabe von Anmeldeinformationen aufgefordert.

  • PAT Wird nur in Azure Pipelines und TFS 2017 und höher unterstützt. Nachdem Sie PAT ausgewählt haben, fügen Sie das von Ihnen erstellte PAT-Token in das Eingabeaufforderungsfenster ein. Verwenden Sie ein persönliches Zugriffstoken (Personal Access Token, PAT), wenn sich Ihre Azure DevOps Server- oder TFS-Instanz und der Agentcomputer nicht in einer vertrauenswürdigen Domäne befinden. Die PAT-Authentifizierung wird von Ihrer Azure DevOps Server- oder TFS-Instanz anstelle des Domänencontrollers verarbeitet.

Hinweis

Bei Verwendung von PAT als Authentifizierungsmethode wird das PAT-Token nur für die Erstkonfiguration des Agents auf Azure DevOps Server und neueren Versionen von TFS verwendet. Weitere Informationen finden Sie unter Kommunikation mit Azure Pipelines oder TFS.

Interaktiv ausführen

Eine Anleitung zum Ausführen des Agents im interaktiven Modus oder als Dienst finden Sie unter Agents: Interactive vs. service.

So führen Sie den Agent interaktiv aus:

  1. Wenn Sie den Agent als Dienst ausgeführt haben, deinstallieren Sie den Dienst.

  2. Führen Sie den Agent aus.

    ./run.sh
    

Um den Agent neu zu starten, drücken Sie STRG+C, und führen Sie dann aus run.sh , um ihn neu zu starten.

Um Ihren Agent zu verwenden, führen Sie einen Auftrag mit dem Pool des Agents aus. Wenn Sie keinen anderen Pool ausgewählt haben, befindet sich Ihr Agent im Standardpool .

Einmal ausführen

Für Agents, die für die interaktive Ausführung konfiguriert sind, können Sie festlegen, dass der Agent nur einen Auftrag akzeptiert. So führen Sie in dieser Konfiguration aus:

./run.sh --once

Agents in diesem Modus akzeptieren nur einen Auftrag und starten dann ordnungsgemäß (nützlich für die Ausführung in Docker auf einem Dienst wie Azure Container Instances).

Ausführen als systemd-Dienst

Wenn Ihr Agent unter diesen Betriebssystemen ausgeführt wird, können Sie den Agent als systemd Dienst ausführen:

  • Ubuntu 16 LTS oder höher
  • Red Hat 7.1 oder höher

Wir stellen ein Beispielskript ./svc.sh bereit, mit dem Sie Ihren Agent als systemd Dienst ausführen und verwalten können. Dieses Skript wird generiert, nachdem Sie den Agent konfiguriert haben. Wir empfehlen Ihnen, das Skript zu überprüfen und bei Bedarf zu aktualisieren, bevor Sie es ausführen.

Einige wichtige Einschränkungen:

  • Wenn Sie Ihren Agent als Dienst ausführen, können Sie den Agent-Dienst nicht als root Benutzer ausführen.
  • Benutzer, die SELinux ausführen, haben Probleme mit dem bereitgestellten svc.sh Skript gemeldet. Sehen Sie sich dieses Agent-Problem als Ausgangspunkt an. SELinux ist keine offiziell unterstützte Konfiguration.

Hinweis

Wenn Sie über eine andere Verteilung verfügen oder andere Ansätze bevorzugen, können Sie den von Ihnen bevorzugten Dienstmechanismus verwenden. Siehe Dienstdateien.

Befehle

Wechseln Zum Agentverzeichnis

Wenn Sie beispielsweise im myagent Unterordner Ihres Basisverzeichnisses installiert haben:

cd ~/myagent$

Installieren

Befehl:

sudo ./svc.sh install [username]

Mit diesem Befehl wird eine Dienstdatei erstellt, die auf ./runsvc.shverweist. Dieses Skript richtet die Umgebung (weitere Details unten) ein und startet den Agentshost. Wenn username der Parameter nicht angegeben ist, wird der Benutzername aus der Umgebungsvariable $SUDO_USER entnommen, die durch den Befehl sudo festgelegt wird. Diese Variable ist immer gleich dem Namen des Benutzers, der den sudo Befehl aufgerufen hat.

Start

sudo ./svc.sh start

Status

sudo ./svc.sh status

Beenden

sudo ./svc.sh stop

Deinstallieren

Sie sollten vor der Deinstallation anhalten.

sudo ./svc.sh uninstall

Aktualisieren von Umgebungsvariablen

Wenn Sie den Dienst konfigurieren, wird eine Momentaufnahme einiger nützlicher Umgebungsvariablen für Ihren aktuellen Anmeldebenutzer erstellt, z. B. PATH, LANG, JAVA_HOME, ANT_HOME und MYSQL_PATH. Wenn Sie die Variablen aktualisieren müssen (z. B. nach der Installation einer neuen Software):

./env.sh
sudo ./svc.sh stop
sudo ./svc.sh start

Die Momentaufnahme der Umgebungsvariablen wird in .env der Datei (PATH wird in .pathgespeichert ) im Stammverzeichnis des Agents gespeichert. Sie können diese Dateien auch direkt ändern, um Änderungen an Umgebungsvariablen anzuwenden.

Ausführen von Anweisungen vor dem Starten des Diensts

Sie können auch ihre eigenen Anweisungen und Befehle ausführen, um beim Starten des Diensts auszuführen. Beispielsweise können Sie die Umgebung einrichten oder Skripts aufrufen.

  1. Bearbeiten Sie runsvc.sh.

  2. Ersetzen Sie die folgende Zeile durch Ihre Anweisungen:

    # insert anything to setup env when running as a service
    

Dienstdateien

Wenn Sie den Dienst installieren, werden einige Dienstdateien erstellt.

systemd-Dienstdatei

Eine systemd-Dienstdatei wird erstellt:

/etc/systemd/system/vsts.agent.{tfs-name}.{agent-name}.service

Beispielsweise haben Sie einen Agent (siehe oben) mit dem Namen our-linux-agentkonfiguriert. Die Dienstdatei ist entweder:

  • Azure Pipelines: Der Name Ihrer Organisation. Wenn Sie beispielsweise eine Verbindung mit herstellen, https://dev.azure.com/fabrikamlautet der Dienstname /etc/systemd/system/vsts.agent.fabrikam.our-linux-agent.service

  • TFS oder Azure DevOps Server: der Name Ihres lokalen Servers. Wenn Sie beispielsweise eine Verbindung mit herstellen, http://our-server:8080/tfslautet der Dienstname /etc/systemd/system/vsts.agent.our-server.our-linux-agent.service

sudo ./svc.sh install generiert diese Datei aus dieser Vorlage: ./bin/vsts.agent.service.template

.service-Datei

sudo ./svc.sh start findet den Dienst durch Lesen der .service Datei, die den Namen der oben beschriebenen Systemd-Dienstdatei enthält.

Alternative Dienstmechanismen

Wir stellen das ./svc.sh Skript als bequeme Möglichkeit bereit, Ihren Agent als systemd Service auszuführen und zu verwalten. Sie können jedoch alle Arten von Dienstmechanismen verwenden, die Sie bevorzugen (z. B. initd oder Upstart).

Sie können die oben beschriebene Vorlage verwenden, um das Generieren anderer Arten von Dienstdateien zu erleichtern.

Verwenden einer Cgroup zur Vermeidung von Agentfehlern

Es ist wichtig, Situationen zu vermeiden, in denen der Agent ausfällt oder unbrauchbar wird, da der Agent andernfalls Pipelineprotokolle nicht streamen oder den Pipelinestatus zurück an den Server melden kann. Sie können das Risiko, dass diese Art von Problem durch hohen Arbeitsspeicherdruck verursacht wird, minimieren, indem Sie cgroups und einen niedrigeren oom_score_adjverwenden. Nachdem Sie dies getan haben, wird der Systemspeicher von Pipelineauftragsprozessen unter Linux zurückerobert, bevor arbeitsspeicher aus dem Agentprozess abgerufen wird. Erfahren Sie, wie Sie Cgroups und OOM-Bewertung konfigurieren.

Ersetzen eines Agents

Führen Sie zum Ersetzen eines Agents die Schritte Herunterladen und Konfigurieren des Agents erneut aus.

Wenn Sie einen Agent mit demselben Namen wie einen bereits vorhandenen Agent konfigurieren, werden Sie gefragt, ob Sie den vorhandenen Agent ersetzen möchten. Wenn Sie antworten Y, stellen Sie sicher, dass Sie den Agent entfernen (siehe unten), den Sie ersetzen. Andernfalls wird nach einigen Minuten mit Konflikten einer der Agents heruntergefahren.

Entfernen und Erneutes Konfigurieren eines Agents

So entfernen Sie den Agent

  1. Beenden Und deinstallieren Sie den Dienst wie oben erläutert.

  2. Entfernen Sie den Agent.

    ./config.sh remove
    
  3. Geben Sie Ihre Anmeldeinformationen ein.

Nachdem Sie den Agent entfernt haben, können Sie ihn erneut konfigurieren.

Unbeaufsichtigte Konfiguration

Der Agent kann über ein Skript ohne menschliches Eingreifen eingerichtet werden. Sie müssen die Antworten auf alle Fragen übergeben --unattended .

Um einen Agent zu konfigurieren, muss er die URL ihrer Organisation oder Sammlung sowie die Anmeldeinformationen einer person kennen, die zum Einrichten von Agents autorisiert ist. Alle anderen Antworten sind optional. Jeder Befehlszeilenparameter kann stattdessen mithilfe einer Umgebungsvariablen angegeben werden: Geben Sie den Namen in Großbuchstaben ein, und setzen VSTS_AGENT_INPUT_Sie voraus . Anstatt z. VSTS_AGENT_INPUT_PASSWORD B. anzugeben --password.

Erforderliche Optionen

  • --unattended - Das Agent-Setup fordert keine Informationen auf, und alle Einstellungen müssen über die Befehlszeile angegeben werden.
  • --url <url> - URL des Servers. Beispiel: https://dev.azure.com/myorganization oder http://my-azure-devops-server:8080/tfs.
  • --auth <type> - Authentifizierungstyp. Gültige Werte sind:
    • pat(Persönliches Zugriffstoken): PAT ist das einzige Schema, das mit Azure DevOps Services funktioniert.
    • negotiate (Kerberos oder NTLM)
    • alt (Standardauthentifizierung)
    • integrated (Windows-Standardanmeldeinformationen)

Authentifizierungsoptionen

  • Wenn Sie folgendes ausgewählt haben --auth pat:
    • --token <token> – gibt Ihr persönliches Zugriffstoken an.
    • PAT ist das einzige Schema, das mit Azure DevOps Services funktioniert.
  • Wenn Sie oder --auth altausgewählt haben--auth negotiate:
    • --userName <userName> – gibt einen Windows-Benutzernamen im Format domain\userName oder an. userName@domain.com
    • --password <password> – gibt ein Kennwort an

Pool- und Agentnamen

  • --pool <pool> - Poolname für den zu verknüpfenden Agent
  • --agent <agent> - Agentname
  • --replace – Ersetzen Sie den Agent in einem Pool. Wenn ein anderer Agent mit demselben Namen lauscht, tritt ein Fehler bei einem Konflikt auf.

Agent-Einrichtung

  • --work <workDirectory> – Arbeitsverzeichnis, in dem Auftragsdaten gespeichert werden. Standardmäßig wird unter _work dem Stammverzeichnis des Agent-Verzeichnisses festgelegt. Das Arbeitsverzeichnis gehört einem bestimmten Agent und sollte nicht zwischen mehreren Agents freigegeben werden.
  • --acceptTeeEula- akzeptieren Sie die Team Explorer Everywhere Endbenutzer-Lizenzvereinbarung (nur macOS und Linux)
  • --disableloguploads – Streamen oder Senden der Konsolenprotokollausgabe nicht an den Server. Stattdessen können Sie sie nach Abschluss des Auftrags aus dem Dateisystem des Agenthosts abrufen.

Nur Windows-Start

  • --runAsService – Konfigurieren des Agents für die Ausführung als Windows-Dienst (erfordert Administratorberechtigung)
  • --runAsAutoLogon – Konfigurieren der automatischen Anmeldung und Ausführen des Agents beim Start (erfordert Administratorberechtigung)
  • --windowsLogonAccount <account> – wird mit --runAsService oder --runAsAutoLogon verwendet, um den Windows-Benutzernamen im Format domain\userName oder anzugeben. userName@domain.com
  • --windowsLogonPassword <password> – wird mit --runAsService oder --runAsAutoLogon zum Angeben des Windows-Anmeldekennworts verwendet (nicht erforderlich für gruppenverwaltete Dienstkonten und integrierte Windows-Konten wie "NT AUTHORITY\NETWORK SERVICE")
  • --overwriteAutoLogon – wird mit --runAsAutoLogon verwendet, um die vorhandene automatische Anmeldung auf dem Computer zu überschreiben.
  • --noRestart – wird mit --runAsAutoLogon verwendet, um zu verhindern, dass der Host nach Abschluss der Agentkonfiguration neu gestartet wird

Problembehandlung beim Konfigurieren des Agents mit der runAsAutoLogon Option

Wenn Sie den Agent mit der runAsAutoLogon Option konfigurieren, wird der Agent jedes Mal nach dem Neustart des Computers ausgeführt. Führen Sie die nächsten Schritte aus, wenn der Agent nach dem Neustart des Computers nicht ausgeführt wird.

Wenn der Agent bereits auf dem Computer konfiguriert war

Bevor Sie den Agent neu konfigurieren, müssen Sie die alte Agent-Konfiguration entfernen. Versuchen Sie daher, diesen Befehl aus dem Agentordner auszuführen:

.\config.cmd remove --auth 'PAT' --token '<token>'

Überprüfen Sie, ob der Agent aus Ihrem Agent-Pool entfernt wurde, nachdem Sie den Befehl ausgeführt haben:

<Azure DevOps organization> / <Project> / Settings / Agent pools / <Agent Pool> / Agents

Entfernen Sie den Agent manuell aus Ihrem Agent-Pool, wenn er nicht durch Ausführen des Befehls entfernt wurde.

Versuchen Sie dann, den Agent neu zu konfigurieren, indem Sie den folgenden Befehl im Agent-Ordner ausführen:

.\config.cmd --unattended --agent '<agent-name>' --pool '<agent-pool-name>' --url '<azure-dev-ops-organization-url>' --auth 'PAT' --token '<token>' --runAsAutoLogon --windowsLogonAccount '<domain\user-name>' --windowsLogonPassword '<windows-password>'

Geben Sie den Agentnamen (einen beliebigen eindeutigen Namen) an, und überprüfen Sie, ob dieser Agent nach der Neukonfiguration in Ihrem Agent-Pool angezeigt wurde.

Es ist viel besser, ein Agent-Archiv zu entpacken (das hier heruntergeladen werden kann) und diesen Befehl aus dem neuen entpackten Agent-Ordner auszuführen.

Überprüfen, ob der Windows-Registrierungsschlüssel ordnungsgemäß aufgezeichnet und gespeichert wurde

Führen Sie den whoami /user Befehl aus, um die <sid>abzurufen. Öffnen Sie Registry Editor den Pfad, und folgen Sie dem Pfad:

Computer\HKEY_USERS\<sid>\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Überprüfen Sie, ob der VSTSAgent Schlüssel vorhanden ist. Löschen Sie diesen Schlüssel, falls er vorhanden ist, und konfigurieren Registry Editor Sie den Agent, indem Sie den .\config.cmd Befehl (ohne Args) aus dem Agent-Ordner ausführen. Öffnen Registry Editor Sie vor der Beantwortung der Frage Enter Restart the machine at a later time?erneut, und überprüfen Sie, ob der VSTSAgent Schlüssel angezeigt wurde. Drücken Sie Enter , um die Frage zu beantworten, und überprüfen Sie, ob der VSTSAgent Schlüssel nach dem Neustart des Computers an seiner Stelle verbleibt.

Überprüfen, ob Windows-Registrierungsschlüssel auf Ihrem Computer einwandfrei funktionieren

Erstellen Sie eine autorun.cmd Datei, die die folgende Zeile enthält: echo "Hello from AutoRun!". Öffnen Registry Editor und erstellen Sie im Pfad oberhalb eines neuen Schlüssel-Wert-Paares mit dem Schlüssel AutoRun und dem Wert.

C:\windows\system32\cmd.exe /D /S /C start "AutoRun" "D:\path\to\autorun.cmd"

Starten Sie den Computer neu. Sie haben ein Problem mit Windows-Registrierungsschlüsseln, wenn kein Konsolenfenster mit der Hello from AutoRun! Meldung angezeigt wird.

Nur Bereitstellungsgruppe

  • --deploymentGroup – Konfigurieren des Agents als Bereitstellungsgruppen-Agent
  • --deploymentGroupName <name> – wird mit --deploymentGroup verwendet, um die Bereitstellungsgruppe für den Zu verknüpfenden Agent anzugeben.
  • --projectName <name> – wird mit --deploymentGroup verwendet, um den Projektnamen festzulegen.
  • --addDeploymentGroupTags – wird mit --deploymentGroup verwendet, um anzugeben, dass Bereitstellungsgruppentags hinzugefügt werden sollen.
  • --deploymentGroupTags <tags> – wird mit --addDeploymentGroupTags verwendet, um die durch Trennzeichen getrennte Liste der Tags für den Bereitstellungsgruppen-Agent anzugeben, z. B. "web, db"

Nur Umgebungen

  • --addvirtualmachineresourcetags – wird verwendet, um anzugeben, dass Umgebungsressourcentags hinzugefügt werden sollen.
  • --virtualmachineresourcetags <tags> – wird mit --addvirtualmachineresourcetags verwendet, um die durch Trennzeichen getrennte Liste von Tags für den Umgebungsressourcen-Agent anzugeben, z. B. "web, db"

./config.sh --help Listet immer die neuesten erforderlichen und optionalen Antworten auf.

Diagnose

Wenn Sie Probleme mit Ihrem selbstgehosteten Agent haben, können Sie versuchen, die Diagnose auszuführen. Nach dem Konfigurieren des Agents:

./run.sh --diagnostics

Dies wird durch eine Diagnosesammlung ausgeführt, die Ihnen bei der Problembehandlung helfen kann. Das Diagnosefeature ist ab Agent-Version 2.165.0 verfügbar.

Hilfe zu anderen Optionen

Weitere Informationen zu anderen Optionen:

./config.sh --help

Die Hilfe enthält Informationen zu Authentifizierungsalternativen und unbeaufsichtigten Konfigurationen.

Funktionen

Die Funktionen Ihres Agents werden katalogisiert und im Pool angekündigt, sodass ihm nur die Builds und Releases zugewiesen werden, die er verarbeiten kann. Weitere Informationen finden Sie unter Erstellen und Freigeben von Agent-Funktionen.

In vielen Fällen müssen Sie nach der Bereitstellung eines Agents Software oder Hilfsprogramme installieren. Im Allgemeinen sollten Sie alle Software und Tools, die Sie auf Ihrem Entwicklungscomputer verwenden, auf Ihren Agents installieren.

Wenn Ihr Build beispielsweise die npm-Aufgabe enthält, wird der Build nur ausgeführt, wenn im Pool ein Build-Agent vorhanden ist, auf dem npm installiert ist.

Wichtig

Zu den Funktionen gehören alle Umgebungsvariablen und die Werte, die bei der Ausführung des Agents festgelegt werden. Wenn sich einer dieser Werte ändert, während der Agent ausgeführt wird, muss der Agent neu gestartet werden, um die neuen Werte zu übernehmen. Nachdem Sie neue Software auf einem Agent installiert haben, müssen Sie den Agent neu starten, damit die neue Funktion im Pool angezeigt wird, damit der Build ausgeführt werden kann.

Wenn Sie Umgebungsvariablen als Funktionen ausschließen möchten, können Sie sie festlegen, indem Sie eine Umgebungsvariable VSO_AGENT_IGNORE mit einer durch Trennzeichen getrennten Liste der zu ignorierenden Variablen festlegen.

Häufig gestellte Fragen

Gewusst wie sicherstellen, dass ich die neueste Version des v2-Agents habe?

  1. Navigieren Sie zur Registerkarte Agentpools :

    1. Wählen Sie Azure DevOps, Organisationseinstellungen aus.

      Wählen Sie Organisationseinstellungen aus.

    2. Wählen Sie Agentpools aus.

      Wählen Sie die Registerkarte Agentpools aus.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungen aus.

      Wählen Sie Sammlungseinstellungen aus.

    2. Wählen Sie Agentpools aus.

      Wählen Sie Agentpools aus.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungen aus.

      Sammlungseinstellungen, 2019.

    2. Wählen Sie Agentpools aus.

      Wählen Sie Agentpools, 2019 aus.

    1. Navigieren Sie zu Ihrem Projekt, und wählen Sie Einstellungen (Zahnradsymbol) >Agent-Warteschlangen aus.

      Wählen Sie Einstellungen, Agent-Warteschlangen, 2018 aus.

    2. Wählen Sie Pools verwalten aus.

      Wählen Sie Pools verwalten aus, 2018.

  2. Klicken Sie auf den Pool, der den Agent enthält.

  3. Stellen Sie sicher, dass der Agent aktiviert ist.

  4. Navigieren Sie zur Registerkarte "Funktionen":

    1. Wählen Sie auf der Registerkarte Agentpools den gewünschten Agentpool aus.

      Wählen Sie unter Agentpools den gewünschten Agentpool aus.

    2. Wählen Sie Agents und dann den gewünschten Agent aus.

      Wählen Sie Agents und dann den Agent aus.

    3. Wählen Sie die Registerkarte Funktionen aus.

      Wählen Sie die Registerkarte Funktionen aus.

      Hinweis

      Microsoft gehosteten Agents zeigen keine Systemfunktionen an. Eine Liste der auf Microsoft gehosteten Agents installierten Software finden Sie unter Verwenden eines Microsoft gehosteten Agents.

    1. Wählen Sie auf der Registerkarte Agentpools den gewünschten Pool aus.

      Wählen Sie den gewünschten Pool aus.

    2. Wählen Sie Agents und dann den gewünschten Agent aus.

      Wählen Sie Agents und dann den gewünschten Agent aus.

    3. Wählen Sie die Registerkarte Funktionen aus.

      Registerkarte

    1. Wählen Sie auf der Registerkarte Agentpools den gewünschten Pool aus.

      Wählen Sie die gewünschte Registerkarte 2019 aus.

    2. Wählen Sie Agents und dann den gewünschten Agent aus.

      Wählen Sie den gewünschten Agent 2019 aus.

    3. Wählen Sie die Registerkarte Funktionen aus.

      Wählen Sie die Registerkarte Funktionen 2019 aus.

    Wählen Sie den gewünschten Agent und dann die Registerkarte Funktionen aus.

    Registerkarte

  5. Suchen Sie nach der Agent.Version Funktion. Sie können diesen Wert anhand der neuesten veröffentlichten Agent-Version überprüfen. Sehen Sie sich den Azure Pipelines-Agent an, und überprüfen Sie auf der Seite die höchste Aufgeführte Versionsnummer.

  6. Jeder Agent aktualisiert sich automatisch, wenn er eine Aufgabe ausführt, die eine neuere Version des Agents erfordert. Wenn Sie einige Agents manuell aktualisieren möchten, klicken Sie mit der rechten Maustaste auf den Pool, und wählen Sie Alle Agents aktualisieren aus.

Kann ich meine v2-Agents aktualisieren, die Teil eines Azure DevOps Server-Pools sind?

Ja. Ab Azure DevOps Server 2019 können Sie Ihren Server so konfigurieren, dass er nach den Agent-Paketdateien auf einem lokalen Datenträger sucht. Diese Konfiguration überschreibt die Standardversion, die zum Zeitpunkt der Veröffentlichung mit dem Server enthalten war. Dieses Szenario gilt auch, wenn der Server keinen Zugriff auf das Internet hat.

  1. Laden Sie von einem Computer mit Internetzugriff die neueste Version der Agent-Paketdateien (im Format .zip oder .tar.gz) von der GitHub-Releaseseite des Azure Pipelines-Agents herunter.

  2. Übertragen Sie die heruntergeladenen Paketdateien auf jede Azure DevOps Server Anwendungsebene, indem Sie eine Methode Ihrer Wahl (z. B. USB-Laufwerk, Netzwerkübertragung usw.) verwenden. Platzieren Sie die Agentdateien unter dem %ProgramData%\Microsoft\Azure DevOps\Agents Ordner.

  3. Sie sind fertig! Ihr Azure DevOps Server verwendet nun die lokalen Dateien, wenn die Agents aktualisiert werden. Jeder Agent aktualisiert sich automatisch, wenn er eine Aufgabe ausführt, die eine neuere Version des Agents erfordert. Wenn Sie jedoch einige Agents manuell aktualisieren möchten, klicken Sie mit der rechten Maustaste auf den Pool, und wählen Sie dann Alle Agents aktualisieren aus.

Warum wird sudo benötigt, um die Dienstbefehle auszuführen?

./svc.sh verwendet systemctl, was erfordert sudo.

Quellcode: systemd.svc.sh.template auf GitHub

Ich führe eine Firewall aus und mein Code befindet sich in Azure Repos. Mit welchen URLs muss der Agent kommunizieren?

Wenn Sie einen Agent in einem sicheren Netzwerk hinter einer Firewall ausführen, stellen Sie sicher, dass der Agent die Kommunikation mit den folgenden URLs und IP-Adressen initiieren kann.

Domänen-URL BESCHREIBUNG
https://{organization_name}.pkgs.visualstudio.com Azure DevOps-Paketerstellungs-API für Organisationen, die die {organization_name}.visualstudio.com Domäne verwenden
https://{organization_name}.visualstudio.com Für Organisationen, die die {organization_name}.visualstudio.com Domäne verwenden
https://{organization_name}.vsblob.visualstudio.com Azure DevOps-Telemetrie für Organisationen, die die {organization_name}.visualstudio.com Domäne verwenden
https://{organization_name}.vsrm.visualstudio.com Release Management Services für Organisationen, die die {organization_name}.visualstudio.com Domäne verwenden
https://{organization_name}.vssps.visualstudio.com Azure DevOps Platform Services für Organisationen, die die {organization_name}.visualstudio.com Domäne verwenden
https://{organization_name}.vstmr.visualstudio.com Azure DevOps Test Management Services für Organisationen, die die {organization_name}.visualstudio.com Domäne verwenden
https://*.blob.core.windows.net Azure Artifacts
https://*.dev.azure.com Für Organisationen, die die dev.azure.com Domäne verwenden
https://*.vsassets.io Azure Artifacts über CDN
https://*.vsblob.visualstudio.com Azure DevOps-Telemetriedaten für Organisationen, die die dev.azure.com Domäne verwenden
https://*.vssps.visualstudio.com Azure DevOps Platform Services für Organisationen, die die dev.azure.com Domäne verwenden
https://*.vstmr.visualstudio.com Azure DevOps Test Management Services für Organisationen, die die dev.azure.com Domäne verwenden
https://app.vssps.visualstudio.com Für Organisationen, die die {organization_name}.visualstudio.com Domäne verwenden
https://dev.azure.com Für Organisationen, die die dev.azure.com Domäne verwenden
https://login.microsoftonline.com Azure Active Directory-Registrierung
https://management.core.windows.net Azure Management-API
https://vstsagentpackage.azureedge.net Agentpaket

Um sicherzustellen, dass Ihre Organisation mit vorhandenen Firewall- oder IP-Einschränkungen arbeitet, stellen Sie sicher, dass und *dev.azure.com geöffnet ist, und aktualisieren Sie Ihre zugelassenen IP-Adressen basierend auf Ihrer IP-Version so, dass dev.azure.com sie die folgenden IP-Adressen enthalten. Wenn Sie die IP-Adressen und 13.107.9.183 derzeit zulassen auflisten13.107.6.183, lassen Sie sie an Ort und Stelle, da Sie sie nicht entfernen müssen.

IPv4-Bereiche

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

IPv6-Bereiche

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Hinweis

Weitere Informationen zu zulässigen Adressen finden Sie unter Zulässige Adresslisten und Netzwerkverbindungen.

Gewusst wie den Agent mit selbstsigniertem Zertifikat ausführen?

Ausführen des Agents mit selbstsigniertem Zertifikat

Gewusst wie den Agent hinter einem Webproxy ausführen?

Ausführen des Agents hinter einem Webproxy

Gewusst wie den Agent neu starten

Wenn Sie den Agent interaktiv ausführen, lesen Sie die Neustartanweisungen unter Interaktiv ausführen. Wenn Sie den Agent als systemd-Dienst ausführen, führen Sie die Schritte unter Beenden und Starten des Agents aus.

Gewusst wie konfigurieren Sie den Agent so, dass er einen Webproxy umgeht und eine Verbindung mit Azure Pipelines herstellt?

Wenn der Agent Ihren Proxy umgehen und eine direkte Verbindung mit Azure Pipelines herstellen soll, sollten Sie Ihren Webproxy so konfigurieren, dass der Agent auf die folgenden URLs zugreifen kann.

Für Organisationen, die die *.visualstudio.com Domäne verwenden:

https://login.microsoftonline.com
https://app.vssps.visualstudio.com 
https://{organization_name}.visualstudio.com
https://{organization_name}.vsrm.visualstudio.com
https://{organization_name}.vstmr.visualstudio.com
https://{organization_name}.pkgs.visualstudio.com
https://{organization_name}.vssps.visualstudio.com

Für Organisationen, die die dev.azure.com Domäne verwenden:

https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://vstsagentpackage.azureedge.net
https://vssps.dev.azure.com

Um sicherzustellen, dass Ihre Organisation mit vorhandenen Firewall- oder IP-Einschränkungen arbeitet, stellen Sie sicher, dass und *dev.azure.com geöffnet ist, und aktualisieren Sie Ihre zugelassenen IP-Adressen basierend auf Ihrer IP-Version so, dass dev.azure.com sie die folgenden IP-Adressen enthalten. Wenn Sie die IP-Adressen und 13.107.9.183 derzeit zulassen auflisten13.107.6.183, lassen Sie sie an Ort und Stelle, da Sie sie nicht entfernen müssen.

IPv4-Bereiche

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

IPv6-Bereiche

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Hinweis

Mit diesem Verfahren kann der Agent einen Webproxy umgehen. Ihre Buildpipeline und Skripts müssen weiterhin die Umgehung Ihres Webproxys für alle Aufgaben und Tools verarbeiten, die Sie in Ihrem Build ausführen.

Wenn Sie beispielsweise einen NuGet-Task verwenden, müssen Sie Ihren Webproxy so konfigurieren, dass er die Umgehung der URL für den Server unterstützt, der den von Ihnen verwendeten NuGet-Feed hostet.

Ich verwende TFS, und die URLs in den obigen Abschnitten funktionieren für mich nicht. Wo erhalte ich Hilfe?

Websiteeinstellungen und Sicherheit

Ich verwende TFS lokal und einige dieser Features werden nicht angezeigt. Warum nicht?

Einige dieser Features sind nur auf Azure Pipelines und noch nicht lokal verfügbar. Einige Features sind lokal verfügbar, wenn Sie ein Upgrade auf die neueste Version von TFS vorgenommen haben.