Selbstgehostete Linux-Agents

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015

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.

Um Ihre Aufträge auszuführen, 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 von Microsoft gehosteter Agent Ihre Anforderungen erfüllt, 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 zu den folgenden Abschnitten springen. Wenn Sie jedoch mehr Hintergrundinformationen dazu wünschen, 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 Distributionen:

  • x64
    • CentOS 7, 6 (siehe Hinweis 1)
    • Debian 9
    • Fedora 30, 29
    • Linux Mint 18, 17
    • openSUSE 42.3 oder höher
    • Oracle Linux 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
  • 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 speziellen rhel.6-x64 Version des Agents.

Hinweis

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

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.

Wenn Sie TFVC verwenden, benötigen Sie auch das Oracle Java JDK 1.6 oder höher. (Die Oracle JRE und das OpenJDK sind zu diesem Zweck nicht ausreichend.)

Hinweis

Das Agent-Installationsprogramm weiß, wie andere Abhängigkeiten überprüft werden. Sie können diese Abhängigkeiten auf unterstützten Linux-Plattformen installieren, indem Sie ./bin/installdependencies.sh im Agentverzeichnis ausführen.

Beachten Sie, dass einige dieser Abhängigkeiten, die von .NET Core benötigt werden, von Websites von Drittanbietern wie abgerufen packages.efficios.com werden. Überprüfen Sie das Skript, und stellen Sie sicher, dass von Ihrem Linux-Computer aus auf websites von Drittanbietern zugegriffen werden kann, installdependencies.sh bevor Sie das Skript ausführen.

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

Bei Problemen bei 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 für weitere Unterstützung äussern.

TFS 2018 RTM und älter:Der ausgelieferte Agent basiert auf CoreCLR 1.0. Wenn dies möglich ist, empfiehlt es sich, ein Upgrade auf eine höhere Agent-Version (2.125.0 oder höher) durchzuführen. Weitere Informationen dazu, was zum Ausführen eines neueren Agents erforderlich ist, finden Sie unter Azure Pipelines Agent-Prereqs.

Wenn Sie auf dem älteren Agent bleiben 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 dafür erhalten haben, wie Agents funktionieren, oder wenn Sie die Einrichtung vieler Agents automatisieren möchten, sollten Sie die unbeaufsichtigte Konfigurationverwenden.

Vorbereiten von Berechtigungen

Informationssicherheit für selbstgehostete Agents

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

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

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

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

Es ist eine bewährte Methode, die Identität, die den Agent ausführt, von der Identität mit Berechtigungen zum Verbinden des Agents mit dem Pool abzuweichen. Der Benutzer, der die Anmeldeinformationen (und andere Agent-bezogene Dateien) generiert, unterscheidet sich von dem Benutzer, der sie lesen muss. Daher ist es sicherer, den Zugriff, der dem Agentcomputer selbst gewährt wird, und die Agent-Ordner, die vertrauliche Dateien wie Protokolle und Artefakte enthalten, sorgfältig zu berücksichtigen.

Es ist sinnvoll, den Zugriff auf den Agentordner nur für DevOps Administratoren und die Benutzeridentität zu gewähren, die den Agentprozess ausführt. Administratoren müssen möglicherweise das Dateisystem untersuchen, um Buildfehler zu verstehen, oder Protokolldateien abrufen, um Azure DevOps Fehler melden zu können.

Entscheiden Sie, welchen Benutzer Sie verwenden möchten.

In einem einmaligen Schritt müssen Sie den Agent registrieren. Eine Person mit der Berechtigung zum Verwalten der Agent-Warteschlange muss diese Schritte ausführen. Der Agent verwendet die Anmeldeinformationen dieser Person nicht im täglichen Betrieb, muss aber 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 Azure DevOps Server Webportal verwenden möchten ( https://{your-server}/DefaultCollection/ ).
  1. Melden Sie sich mit dem Benutzerkonto an, das Sie in Ihrer Azure DevOps Organisation verwenden möchten ( https://dev.azure.com/{your_organization} ).
  1. Öffnen Sie auf Ihrer Startseite Ihr Profil. Wechseln Sie zu Ihren Sicherheitsdetails.

    Go to your security details.

  2. Erstellen Sie ein persönliches Zugriffstoken.

    Create a personal access token.

  1. Öffnen Sie auf Ihrer Startseite Ihre Benutzereinstellungen, und wählen Sie dann Persönliche Zugriffstokenaus.

    Go to your security details.

  2. Erstellen Sie ein persönliches Zugriffstoken.

    Create a personal access token.

  1. Wählen Sie für den Bereich Agentpools (Lesen, Verwalten) aus, und stellen Sie sicher, dass alle anderen Felder gelöscht 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 gelöscht 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, wenn Sie den Agent konfigurieren.

Authentifizieren als Windows Benutzer (TFS 2015 und TFS 2017)

Alternativ können Sie auf TFS 2017 entweder einen Domänenbenutzer oder einen lokalen Windows Benutzer auf jeder Ihrer TFS-Anwendungsebenen verwenden.

Für TFS 2015 wird empfohlen, nur für macOS und Linux einen lokalen Windows Benutzer auf jeder Ihrer TFS-Anwendungsebenen zu erstellen und diesen Benutzer für die Bereitstellung von Build-Agents zu reservieren.

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 ein Azure DevOps Organisationsbesitzer, 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, Organisationseinstellungenaus.

      Choose Organization settings.

    2. Wählen Sie Agentpools aus.

      Choose Agent pools tab.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungenaus.

      Choose Collection settings.

    2. Wählen Sie Agentpools aus.

      Choose Agent pools.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungenaus.

      Collection settings, 2019.

    2. Wählen Sie Agentpools aus.

      Choose Agent pools, 2019.

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

      Choose Settings, Agent Queues, 2018.

    2. Wählen Sie Pools verwaltenaus.

      Choose Manage pools, 2018.

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

      Choose settings, Agent Queues, 2017.

    2. Wählen Sie Pools verwaltenaus.

      Choose Manage pools, 2017.

    1. Navigieren Sie zu Ihrem Projekt, und wählen Sie Projekt verwalten (Zahnradsymbol) aus.

      Manage project, 2015.

    2. Wählen Sie Systemsteuerungaus.

      Choose Control panel, 2015.

    3. Wählen Sie Agentpools aus.

      Select Agent pools, 2015.

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

  3. Wenn das Benutzerkonto, das Sie verwenden möchten, nicht angezeigt wird, erhalten Sie einen Administrator, um es hinzuzufügen. Der Administrator kann ein Agentpooladministrator, ein Azure DevOps Organisationsbesitzeroder ein TFS- oder Azure DevOps Server-Administratorsein.

    Wenn es sich um einen Bereitstellungsgruppen-Agent handelt, kann der Administrator ein Bereitstellungsgruppenadministrator, ein Azure DevOps Organisationsbesitzeroder ein TFS- oder Azure DevOps Server-Administratorsein.

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

Hinweis

Wenn eine Meldung wie die folgende angezeigt wird: Sorry, we couldn't add the identity. (Leider konnte die Identität nicht hinzugefügt werden.) Versuchen Sie esmit einer anderen Identität. Sie haben wahrscheinlich die oben genannten Schritte für einen Organisationsbesitzer, 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 mit dem Konto, für das Sie Berechtigungen vorbereitet haben, wie oben beschrieben beim Computer an.

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

    1. Wählen Sie Azure DevOps, Organisationseinstellungenaus.

      Choose Organization settings.

    2. Wählen Sie Agentpools aus.

      Choose Agent pools tab.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungenaus.

      Choose Collection settings.

    2. Wählen Sie Agentpools aus.

      Choose Agent pools.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungenaus.

      Collection settings, 2019.

    2. Wählen Sie Agentpools aus.

      Choose Agent pools, 2019.

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

      Choose Settings, Agent Queues, 2018.

    2. Wählen Sie Pools verwaltenaus.

      Choose Manage pools, 2018.

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

      Choose settings, Agent Queues, 2017.

    2. Wählen Sie Pools verwaltenaus.

      Choose Manage pools, 2017.

    1. Navigieren Sie zu Ihrem Projekt, und wählen Sie Projekt verwalten (Zahnradsymbol) aus.

      Manage project, 2015.

    2. Wählen Sie Systemsteuerungaus.

      Choose Control panel, 2015.

    3. Wählen Sie Agentpools aus.

      Select Agent pools, 2015.

  3. Wählen Sie den Standardpool aus, wählen Sie 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 jeweilige Variante aus. Für die meisten Linux-Distributionen bieten wir x64 oder ARM an. Wir bieten auch einen bestimmten 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 ./config.sh aus.

Azure DevOps Server 2019 und Azure DevOps Server 2020

  1. Melden Sie sich mit dem Konto, für das Sie Berechtigungen vorbereitet haben, wie oben beschrieben beim Computer an.

  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, Organisationseinstellungenaus.

      Choose Organization settings.

    2. Wählen Sie Agentpools aus.

      Choose Agent pools tab.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungenaus.

      Choose Collection settings.

    2. Wählen Sie Agentpools aus.

      Choose Agent pools.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungenaus.

      Collection settings, 2019.

    2. Wählen Sie Agentpools aus.

      Choose Agent pools, 2019.

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

      Choose Settings, Agent Queues, 2018.

    2. Wählen Sie Pools verwaltenaus.

      Choose Manage pools, 2018.

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

      Choose settings, Agent Queues, 2017.

    2. Wählen Sie Pools verwaltenaus.

      Choose Manage pools, 2017.

    1. Navigieren Sie zu Ihrem Projekt, und wählen Sie Projekt verwalten (Zahnradsymbol) aus.

      Manage project, 2015.

    2. Wählen Sie Systemsteuerungaus.

      Choose Control panel, 2015.

    3. Wählen Sie Agentpools aus.

      Select Agent pools, 2015.

  3. Klicken Sie auf Agent herunterladen.

  4. Klicken Sie im Dialogfeld Agent abrufen auf Linux.

  5. Wählen Sie im linken Bereich die jeweilige Variante aus. Für die meisten Linux-Distributionen bieten wir x64 oder ARM an. Wir bieten auch einen bestimmten 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 ./config.sh aus.

TFS 2017 und TFS 2018

  1. Melden Sie sich mit dem Konto, für das Sie Berechtigungen vorbereitet haben, wie oben beschrieben beim Computer an.

  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.

      Choose Settings, Agent Queues, 2018.

    2. Wählen Sie Pools verwaltenaus.

      Choose Manage pools, 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 ./config.sh aus. Stellen Sie sicher, dass der Pfad zum Verzeichnis keine Leerzeichen enthält, da Tools und Skripts Leerzeichen nicht immer ordnungsgemäß als Escapezeichen verwenden.

TFS 2015

  1. Navigieren Sie zum neuesten Release auf GitHub.

  2. Befolgen Sie die Anweisungen auf dieser Seite, um den Agent herunterzuladen.

  3. Konfigurieren Sie den Agent.

    ./config.sh
    

Server-URL

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

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

TFS 2017 und neuer: https://{your_server}/tfs

TFS 2015: http://{your_server}:8080/tfs

Authentifizierungsart

Azure Pipelines

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

Hinweis

Wenn PAT als Authentifizierungsmethode verwendet wird, 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

Wichtig

Stellen Sie sicher, dass Ihr Server so konfiguriert ist, dass er die Authentifizierungsmethode unterstützt, die Sie verwenden möchten.

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

  • Alternative Verbinden tfs oder Azure DevOps Server Standardauthentifizierung. Nachdem Sie Alternative ausgewählt haben, werden Sie zur Eingabe Ihrer Anmeldeinformationen aufgefordert.

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

  • Aushandeln (Standard) Verbinden TFS oder Azure DevOps Server als ein anderer Benutzer als der angemeldete Benutzer über ein Windows-Authentifizierungsschema wie NTLM oder Kerberos. Nachdem Sie Negotiate (Aushandeln) ausgewählt haben, werden Sie zur Eingabe von Anmeldeinformationen aufgefordert.

  • PAT Wird nur auf Azure Pipelines und TFS 2017 und neueren Versionen unterstützt. Fügen Sie nach dem Auswählen von PAT das pat-Token, das Sie erstellt haben, in das Eingabeaufforderungsfenster ein. Verwenden Sie ein persönliches Zugriffstoken (Personal Access Token, PAT), wenn Azure DevOps Server- oder TFS-Instanz und der Agent-Computer sich 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.

Interaktive Ausführung

Anleitungen dazu, ob der Agent im interaktiven Modus oder als Dienst ausgeführt werden soll, 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
    

Drücken Sie zum Neustarten des Agents 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 werden dann ordnungsgemäß heruntergefahren (nützlich für die Ausführung in Docker für einen 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 Dienst systemd ausführen:

  • Ubuntu 16 LTS oder neuer
  • Red Hat 7.1 oder neuer

Wir stellen ein ./svc.sh Beispielskript zum Ausführen und Verwalten Ihres Agents als Dienst systemd zur Verfügung. Dieses Skript wird generiert, nachdem Sie den Agent konfiguriert haben. Wir empfehlen Ihnen, das Skript vor der Ausführung zu überprüfen und bei Bedarf zu aktualisieren.

Einige wichtige Einschränkungen:

  • Wenn Sie Ihren Agent als Dienst ausführen, können Sie den Agent-Dienst nicht als Benutzer root ausführen.
  • Benutzer, die SELinux ausführen, haben Schwierigkeiten mit dem bereitgestellten Skript gemeldet. Dieses Agent-Problem wird als Ausgangspunkt bezeichnet. SELinux ist keine offiziell unterstützte Konfiguration.

Hinweis

Wenn Sie über eine andere Verteilung verfügen oder andere Ansätze bevorzugen, können Sie einen anderen Dienstmechanismus verwenden, den Sie bevorzugen. Weitere Informationen finden Sie unter Dienstdateien.

Befehle

Wechseln zum Agent-Verzeichnis

Wenn Sie beispielsweise im Unterordner Ihres myagent Startverzeichnisses installiert haben:

cd ~/myagent$

Installieren

Befehl:

sudo ./svc.sh install [username]

Dieser Befehl erstellt eine Dienstdatei, die auf ./runsvc.sh verweist. Dieses Skript richtet die Umgebung ein (weitere Details unten) und startet den Agents-Host. Wenn der Parameter nicht angegeben wird, wird der Benutzername aus der Umgebungsvariablen $SUDO_USER übernommen, die durch den username sudo-Befehl festgelegt wird. Diese Variable ist immer gleich dem Namen des Benutzers, der den Befehl aufgerufen sudo hat.

Start

sudo ./svc.sh start

Status

sudo ./svc.sh status

Beenden

sudo ./svc.sh stop

Deinstallieren

Sie sollten beenden, bevor Sie deinstallieren.

sudo ./svc.sh uninstall

Aktualisieren von Umgebungsvariablen

Wenn Sie den Dienst konfigurieren, wird eine Momentaufnahme einiger nützlicher Umgebungsvariablen für Den 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 der Datei ( wird in gespeichert) im Stammverzeichnis des Agents gespeichert. Sie können diese Dateien auch direkt ändern, um Änderungen an .envPATH.path Umgebungsvariablen anzuwenden.

Ausführen von Anweisungen vor dem Starten des Diensts

Sie können auch eigene Anweisungen und Befehle ausführen, die beim Starten des Diensts ausgeführt werden. 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 installiert.

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-agent konfiguriert. Die Dienstdatei ist eine der folgenden:

  • Azure Pipelines:der Name Ihrer Organisation. Wenn Sie z. B. eine Verbindung mit https://dev.azure.com/fabrikam herstellen, würde der Dienstname sein. /etc/systemd/system/vsts.agent.fabrikam.our-linux-agent.service

  • TFS oder Azure DevOps Server:der Name Ihres lokalen Servers. Wenn Sie z. B. eine Verbindung mit http://our-server:8080/tfs herstellen, würde der Dienstname sein. /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 sucht den Dienst, indem die Datei gelesen wird, die den Oben beschriebenen Namen der .service systemd-Dienstdatei enthält.

Alternative Dienstmechanismen

Wir stellen das Skript als praktische Möglichkeit zum Ausführen und Verwalten Ihres Agents ./svc.sh als systemd-Dienst zur Verfügung. Sie können jedoch einen anderen Dienstmechanismus verwenden (z.B. initd oder upstart).

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

Verwenden einer CGROUP, um Agentfehler zu vermeiden

Es ist wichtig, Situationen zu vermeiden, in denen der Agent ausfällt oder unbrauchbar wird, da der Agent andernfalls keine Pipelineprotokolle streamen oder den Pipelinestatus nicht an den Server zurückmelden kann. Sie können das Risiko verringern, dass diese Art von Problem durch hohe Arbeitsspeicherdrucks verursacht wird, indem Sie cgroups und einen niedrigeren oom_score_adj verwenden. Nachdem Sie dies getan haben, gibt Linux Systemspeicher aus Pipelineauftragsprozessen zurück, bevor Arbeitsspeicher aus dem Agentprozess zurückgefordert wird. Erfahren Sie, wie Sie cgroups und oom score konfigurieren.

Ersetzen eines Agents

Um einen Agent zu ersetzen, führen Sie die Schritte zum Herunterladen und Konfigurieren des Agents erneut aus.

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

Entfernen und erneutes Konfigurieren eines Agents

So entfernen Sie den Agent

  1. Beenden und deinstallieren Sie den Dienst wie oben beschrieben.

  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 ohne menschliches Eingreifen über ein Skript eingerichtet werden. Sie müssen --unattended und die Antworten auf alle Fragen übergeben.

Um einen Agent zu konfigurieren, muss er die URL zu Ihrer Organisation oder Sammlung und 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 stellen Sie VSTS_AGENT_INPUT_ voran. Anstatt z. VSTS_AGENT_INPUT_PASSWORD--password B. anzugeben.

Erforderliche Optionen

  • --unattended - Das Agent-Setup fordert keine Informationen an, und alle Einstellungen müssen in der 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)
    • negotiate (Kerberos oder NTLM)
    • alt (Standardauthentifizierung)
    • integrated(Windows Standardanmeldeinformationen)

Authentifizierungsoptionen

  • Wenn Sie ausgewählt --auth pat haben:
    • --token <token> : Gibt Ihr persönliches Zugriffstoken an.
  • Wenn Sie oder ausgewählt --auth negotiate--auth alt haben:
    • --userName <userName>: gibt einen Windows Benutzernamen im Format oder an. domain\userNameuserName@domain.com
    • --password <password> : Gibt ein Kennwort an.

Pool- und Agentnamen

  • --pool <pool> - Poolname für den Agent, der beitreten soll
  • --agent <agent> - Agentname
  • --replace : Ersetzen Sie den Agent in einem Pool. Wenn ein anderer Agent mit dem gleichen Namen lauscht, tritt ein Konflikt auf.

Agent-Setup

  • --work <workDirectory> – Arbeitsverzeichnis, in dem Auftragsdaten gespeichert werden. Der Standardwert ist _work unter dem Stammverzeichnis des Agentverzeichnisses. Das Arbeitsverzeichnis befindet sich im Besitz eines bestimmten Agents und sollte nicht von mehreren Agents gemeinsam genutzt werden.
  • --acceptTeeEula– akzeptieren Sie den Team Explorer Everywhere Endbenutzer-Lizenzvertrag (nur macOS und Linux).
  • --disableloguploads – Konsolenprotokollausgabe nicht streamen oder an den Server senden. 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 Administratorberechtigungen)
  • --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 oder domain\userName anzugeben.userName@domain.com
  • --windowsLogonPassword <password>– wird mit --runAsService oder --runAsAutoLogon verwendet, um Windows Anmeldekennwort anzugeben.
  • --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 neu gestartet wird, nachdem die Agent-Konfiguration abgeschlossen ist.

Nur Bereitstellungsgruppe

  • --deploymentGroup – Konfigurieren des Agents als Bereitstellungsgruppen-Agent
  • --deploymentGroupName <name> – wird mit --deploymentGroup verwendet, um die Bereitstellungsgruppe anzugeben, der der Agent beitreten soll.
  • --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 von 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 Kommas 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 über eine Diagnosesammlung ausgeführt, die Ihnen bei der Problembehandlung helfen kann. Die Diagnosefunktion 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 zur unbeaufsichtigten Konfiguration.

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 Build- und Release-Agent-Funktionen.

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

Wenn Ihr Build beispielsweise den npm-Taskenthält, wird der Build nur ausgeführt, wenn ein Build-Agent im Pool vorhanden ist, in dem npm installiert ist.

Wichtig

Funktionen umfassen 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 erhalten. 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 mit einer durch Trennzeichen getrennten Liste von Variablen festlegen, VSO_AGENT_IGNORE die ignoriert werden sollen.

Häufig gestellte Fragen

Gewusst wie sicherstellen, dass ich über die neueste Version des v2-Agents verwalte?

  1. Navigieren Sie zur Registerkarte Agentpools:

    1. Wählen Sie Azure DevOps, Organisationseinstellungenaus.

      Choose Organization settings.

    2. Wählen Sie Agentpools aus.

      Choose Agent pools tab.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungenaus.

      Choose Collection settings.

    2. Wählen Sie Agentpools aus.

      Choose Agent pools.

    1. Wählen Sie Azure DevOps, Sammlungseinstellungenaus.

      Collection settings, 2019.

    2. Wählen Sie Agentpools aus.

      Choose Agent pools, 2019.

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

      Choose Settings, Agent Queues, 2018.

    2. Wählen Sie Pools verwaltenaus.

      Choose Manage pools, 2018.

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

      Choose settings, Agent Queues, 2017.

    2. Wählen Sie Pools verwaltenaus.

      Choose Manage pools, 2017.

    1. Navigieren Sie zu Ihrem Projekt, und wählen Sie Projekt verwalten (Zahnradsymbol) aus.

      Manage project, 2015.

    2. Wählen Sie Systemsteuerungaus.

      Choose Control panel, 2015.

    3. Wählen Sie Agentpools aus.

      Select Agent pools, 2015.

  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.

      From Agent pools, select the desired agent pool.

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

      Select Agents and choose the agent.

    3. Wählen Sie die Registerkarte Funktionen aus.

      Choose the Capabilities tab.

      Hinweis

      Von Microsoft gehostete Agents zeigen keine Systemfunktionen an. Eine Liste der auf von Microsoft gehosteten Agents installierte Software finden Sie unter Verwenden eines von Microsoft gehosteten Agents.

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

      Select the desired pool.

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

      Select Agents and choose the desired agent.

    3. Wählen Sie die Registerkarte Funktionen aus.

      Agent capabilities tab.

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

      Select the desired tab, 2019.

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

      Choose the desired agent, 2019.

    3. Wählen Sie die Registerkarte Funktionen aus.

      Choose the Capabilities tab, 2019.

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

    Agent capabilities tab, 2018.

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

    Agent capabilities tab, 2017.

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

    Choose the Agent capabilities tab, 2015.

  5. Suchen Sie nach Agent.Version der -Funktion. Sie können diesen Wert mit der neuesten veröffentlichten Agent-Version überprüfen. Weitere Informationen Azure Pipelines-Agent finden Sie auf der Seite mit der höchsten aufgeführten Versionsnummer.

  6. Jeder Agent aktualisiert sich automatisch selbst, wenn er eine Aufgabe ausgefü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 sind?

Ja. Ab dem 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 setzt die Standardversion außer Kraft, die zum Zeitpunkt der Veröffentlichung des Servers verfügbar 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 .zip- oder TAR.GZ-Formular) von der Seite Azure Pipelines Agent GitHub Releases) 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 und so weiter) verwenden. Platzieren Sie die Agent-Dateien unter %ProgramData%\Microsoft\Azure DevOps\Agents dem Ordner .

  3. Sie sind alle festgelegt! Ihr Azure DevOps Server verwendet nun die lokalen Dateien, wenn die Agents aktualisiert werden. Jeder Agent aktualisiert sich automatisch selbst, wenn er eine Aufgabe ausgefü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 ist sudo erforderlich, um die Dienstbefehle auszuführen?

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

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 Packaging-API für Organisationen, die die Domäne {organization_name}.visualstudio.com verwenden
https://{organization_name}.visualstudio.com Für Organisationen, die die Domäne {organization_name}.visualstudio.com verwenden
https://{organization_name}.vsblob.visualstudio.com Azure DevOps Telemetrie für Organisationen, die die Domäne {organization_name}.visualstudio.com verwenden
https://{organization_name}.vsrm.visualstudio.com Release Management Services für Organisationen, die die Domäne {organization_name}.visualstudio.com verwenden
https://{organization_name}.vssps.visualstudio.com Azure DevOps Platform Services für Organisationen, die die Domäne {organization_name}.visualstudio.com verwenden
https://{organization_name}.vstmr.visualstudio.com Azure DevOps Test Management Services für Organisationen, die die Domäne {organization_name}.visualstudio.com verwenden
https://*.blob.core.windows.net Azure Artifacts
https://*.dev.azure.com Für Organisationen, die die Domäne dev.azure.com verwenden
https://*.vsassets.io Azure Artifacts über CDN
https://*.vsblob.visualstudio.com Azure DevOps Telemetrie für Organisationen, die die Domäne dev.azure.com verwenden
https://*.vssps.visualstudio.com Azure DevOps Platform Services für Organisationen, die die Domäne dev.azure.com verwenden
https://*.vstmr.visualstudio.com Azure DevOps Test Management Services für Organisationen, die die Domäne dev.azure.com verwenden
https://app.vssps.visualstudio.com Für Organisationen, die die Domäne {organization_name}.visualstudio.com verwenden
https://dev.azure.com Für Organisationen, die die Domäne dev.azure.com verwenden
https://login.microsoftonline.com Azure Active Directory-Registrierung
https://management.core.windows.net Azure Verwaltungs-API
https://vstsagentpackage.azureedge.net Agent-Paket

Um sicherzustellen, dass Ihre Organisation mit vorhandenen Firewall- oder IP-Einschränkungen arbeitet, stellen Sie sicher, dass und geöffnet sind, und aktualisieren Sie Ihre ip-Adressen mit den zulässigen Ip-Adressen, um die folgenden IP-Adressen basierend auf Ihrer dev.azure.com*dev.azure.com IP-Version ein-/aus. Wenn Sie derzeit das Auflisten der IP-Adressen und zulassen, lassen Sie sie erhalten, da Sie sie 13.107.6.18313.107.9.183 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 sie den Agent mit einem selbstsigniertem Zertifikat ausführen?

Ausführen des Agents mit selbstsigniertem Zertifikat

Gewusst wie sie den Agent hinter einem Webproxy ausführen?

Ausführen des Agents hinter einem Webproxy

Gewusst wie neustarten des Agents

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

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

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 geöffnet sind, und aktualisieren Sie Ihre ip-Adressen mit den zulässigen Ip-Adressen, um die folgenden IP-Adressen basierend auf Ihrer dev.azure.com*dev.azure.com IP-Version ein-/aus. Wenn Sie derzeit das Auflisten der IP-Adressen und zulassen, lassen Sie sie erhalten, da Sie sie 13.107.6.18313.107.9.183 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 jede Aufgabe und jedes Tool behandeln, die Sie in Ihrem Build ausführen.

Wenn Sie beispielsweise eine NuGet-Aufgabe verwenden, müssen Sie Ihren Webproxy so konfigurieren, dass er die Umgehung der URL für den Server unterstützt, der den NuGet feed hostet, den Sie verwenden.

Ich arbeite mit TFS, und die URLs in den obigen Abschnitten funktionieren nicht für mich. Wo kann ich Hilfe erhalten?

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.