Erstellen und Verwalten von Agentpools

Azure DevOps Services | Azure DevOps Server 2020 | 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.

Ein Agentpool ist eine Sammlung von Agents. Anstatt jeden Agent einzeln zu verwalten, organisieren Sie Agents in Agentpools. In TFS sind Pools auf den gesamten Server festgelegt; Damit Sie einen Agentpool über Projektsammlungen und Projekte hinweg freigeben können.

Eine Agentwarteschlange bietet Zugriff auf einen Agentpool innerhalb eines Projekts. Wenn Sie eine Build- oder Releasepipeline erstellen, geben Sie an, welche Warteschlange sie verwendet. Warteschlangen sind auf Ihr Projekt in TFS 2017 und höher festgelegt, sodass Sie sie nur über Build- und Freigabepipelinen innerhalb eines Projekts verwenden können.

Um einen Agentpool für mehrere Projekte freizugeben, erstellen Sie in jedem dieser Projekte eine Agentwarteschlange, die auf denselben Agentpool verweist. Während mehrere Warteschlangen in projekten denselben Agentpool verwenden können, können mehrere Warteschlangen innerhalb eines Projekts nicht denselben Agentpool verwenden. Außerdem kann jede Agentwarteschlange nur einen Agentpool verwenden.

TFS 2017 and TFS 2018 build system architecture

Ein Agentpool ist eine Sammlung von Agents. Anstatt jeden Agent einzeln zu verwalten, organisieren Sie Agents in Agentpools. Wenn Sie einen Agent konfigurieren, wird er mit einem einzelnen Pool registriert, und wenn Sie eine Pipeline erstellen, geben Sie den Pool an, in dem die Pipeline ausgeführt wird. Wenn Sie die Pipeline ausführen, wird sie auf einem Agent aus diesem Pool ausgeführt, der die Anforderungen der Pipeline erfüllt.

In Azure Pipelines sind Pools auf die gesamte Organisation ausgelegt. Daher können Sie die Agentcomputer über Projekte hinweg freigeben.

In Azure DevOps Server sind Agentpools auf den gesamten Server ausgelegt. Daher können Sie die Agentcomputer über Projekte und Sammlungen hinweg freigeben.

Hinweis

Agentpoolaufträge führen einen Auftrag für einen einzelnen Agent aus. Wenn Sie einen Auftrag für alle Agents ausführen müssen, z. B. eine Bereitstellungsgruppe für klassische Releasepipelinen, finden Sie unter Bereitstellen von Bereitstellungsgruppen.

Sie erstellen und verwalten Agentpools auf der Registerkarte "Agentpools" in den Administratoreinstellungen.

Wenn Sie ein Organisationsadministrator sind, erstellen und verwalten Sie Agentpools auf der Registerkarte "Agentpools" in den Administratoreinstellungen.

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

    Choose Organization settings.

  2. Wählen Sie Agentpools aus.

    Choose Agent pools tab.

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

    Choose Collection settings.

  2. Wählen Sie Agentpools aus.

    Choose Agent pools.

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

    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 verwalten" aus.

    Choose Manage pools, 2018.

Sie erstellen und verwalten Agentwarteschleifen auf der Registerkarte "Agentwarteschlangen" in den Projekteinstellungen.

Wenn Sie ein Projektteammitglied sind, erstellen und verwalten Sie Agentwarteschleifen auf der Registerkarte "Agentpools" in den Projekteinstellungen.

Navigieren Sie zu Ihrem Projekt, und wählen Sie Project Einstellungen, Agentpools aus.

Navigate to your project and choose Project settings, Agent pools.

Navigieren Sie zu Ihrem Projekt, und wählen Sie Project Einstellungen, Agentpools aus.

Navigate to your project and choose Project settings, Agent pools (2020).

Navigieren Sie zu Ihrem Projekt, und wählen Sie Project Einstellungen, Agentpools aus.

Navigate to your project and choose Project settings, Agent pools (2019).

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

Choose settings, Agent Queues, TFS 2018.

Standard-Agentpools

Die folgenden Agentpools werden standardmäßig bereitgestellt:

  • Azure Pipelines gehosteten Pool mit verschiedenen Windows, Linux und macOS-Images. Eine vollständige Liste der verfügbaren Images und deren installierte Software finden Sie unter von Microsoft gehosteten Agents.

    Hinweis

    Der Azure Pipelines gehostete Pool ersetzt die vorherigen gehosteten Pools mit Namen, die den entsprechenden Bildern zugeordnet sind. Alle Aufträge, die Sie in den vorherigen gehosteten Pools hatten, werden automatisch in das richtige Bild im neuen Azure Pipelines gehosteten Pool umgeleitet. Unter einigen Umständen werden möglicherweise noch die alten Poolnamen angezeigt, aber hinter den Kulissen werden die gehosteten Aufträge mit dem Azure Pipelines Pool ausgeführt. Weitere Informationen finden Sie in den Anmerkungen zur Version des einzelnen gehosteten Pools vom 1. Juli 2019 – Sprint 154.

Standardmäßig sind alle Mitwirkenden in einem Projekt Mitglieder der Rolle "Benutzer " in gehosteten Pools. Dadurch kann jeder Mitwirkende in einem Projekt Pipelines mit von Microsoft gehosteten Agents erstellen und ausführen.

Festlegen eines Pools in Ihrer Pipeline

YAML-Pipelines werden in Azure DevOps Server 2019 und höher unterstützt.

Um einen von Microsoft gehosteten Agent aus dem Azure Pipelines Pool in Ihrer Azure DevOps Services YAML-Pipeline auszuwählen, geben Sie den Namen des Images mithilfe der YAML VM Image Label aus dieser Tabelle an.

pool:
  vmImage: ubuntu-latest # This is the default if you don't specify a pool or vmImage.

So verwenden Sie einen privaten Pool ohne Anforderungen:

pool: MyPool

Weitere Informationen finden Sie im YAML-Schema für Pools.

Verwalten von Pools und Warteschlangen

Sie erstellen und verwalten Agentpools auf der Registerkarte "Agentpools" in den Administratoreinstellungen.

Wenn Sie ein Organisationsadministrator sind, erstellen und verwalten Sie Agentpools auf der Registerkarte "Agentpools" in den Administratoreinstellungen.

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

    Choose Organization settings.

  2. Wählen Sie Agentpools aus.

    Choose Agent pools tab.

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

    Choose Collection settings.

  2. Wählen Sie Agentpools aus.

    Choose Agent pools.

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

    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 verwalten" aus.

    Choose Manage pools, 2018.

Sie erstellen und verwalten Agentwarteschleifen auf der Registerkarte "Agentwarteschlangen" in den Projekteinstellungen.

Wenn Sie ein Projektteammitglied sind, erstellen und verwalten Sie Agentwarteschleifen auf der Registerkarte "Agentpools" in den Projekteinstellungen.

Navigieren Sie zu Ihrem Projekt, und wählen Sie Project Einstellungen, Agentpools aus.

Navigate to your project and choose Project settings, Agent pools.

Navigieren Sie zu Ihrem Projekt, und wählen Sie Project Einstellungen, Agentpools aus.

Navigate to your project and choose Project settings, Agent pools (2020).

Navigieren Sie zu Ihrem Projekt, und wählen Sie Project Einstellungen, Agentpools aus.

Navigate to your project and choose Project settings, Agent pools (2019).

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

Choose settings, Agent Queues, TFS 2018.

Pools werden zum Ausführen von Aufträgen verwendet. Erfahren Sie mehr über das Angeben von Pools für Aufträge.

Wenn Sie viele selbst gehostete Agents haben, die für verschiedene Teams oder Zwecke vorgesehen sind, möchten Sie möglicherweise zusätzliche Pools wie unten erläutert erstellen.

Erstellen von Agentpools

Hier sind einige typische Situationen, in denen Sie möglicherweise selbst gehostete Agentpools erstellen möchten:

  • Sie sind Mitglied eines Projekts und möchten eine Reihe von Computern verwenden, die ihrem Team gehören, um Build- und Bereitstellungsaufträge auszuführen. Stellen Sie zunächst sicher, dass Sie die Berechtigungen zum Erstellen von Pools in Ihrem Projekt haben, indem Sie auf der Seite "Agentpools" in Ihren Projekteinstellungen Sicherheit auswählen. Sie müssen über die Administratorrolle verfügen, um neue Pools zu erstellen. Wählen Sie dann " Pool hinzufügen " aus, und wählen Sie die Option zum Erstellen eines neuen Pools auf Organisationsebene aus. Installieren und Konfigurieren von Agents schließlich als Teil dieses Agentpools.

  • Sie sind ein Mitglied des Infrastrukturteams und möchten einen Pool mit Agents zur Verwendung in allen Projekten einrichten. Stellen Sie zunächst sicher, dass Sie mitglied einer Gruppe in allen Agentpools mit der Administratorrolle sind, indem Sie zur Seite "Agentpools" in Ihren Organisationseinstellungen navigieren. Erstellen Sie als Nächstes einen Neuen Agentpool , und wählen Sie die Option zum Automatischen Bereitstellen entsprechender Agentpools in allen Projekten beim Erstellen des Pools aus. Diese Einstellung stellt sicher, dass alle Projekte Zugriff auf diesen Agentpool haben. Installieren und Konfigurieren von Agents schließlich als Teil dieses Agentpools.

  • Sie möchten eine Gruppe von Agent-Computern in mehreren Projekten gemeinsam nutzen, aber nicht alle. Navigieren Sie zunächst zu den Einstellungen für einen der Projekte, fügen Sie einen Agentpool hinzu, und wählen Sie die Option aus, um einen neuen Pool auf Organisationsebene zu erstellen. Wechseln Sie als Nächstes zu jedem der anderen Projekte, und erstellen Sie einen Pool in jedem dieser Projekte, während Sie die Option zum Verwenden eines vorhandenen Agentpools aus der Organisation auswählen. Installieren und Konfigurieren von Agents schließlich als Teil des freigegebenen Agentpools.

  • Sie sind Mitglied eines Projekts und möchten eine Reihe von Computern verwenden, die ihrem Team gehören, um Build- und Bereitstellungsaufträge auszuführen. Stellen Sie zunächst sicher, dass Sie mitglied einer Gruppe in allen Pools mit der Administratorrolle sind. Erstellen Sie als Nächstes einen Neuen Projekt-Agent-Pool in Ihren Projekteinstellungen und wählen Sie die Option zum Erstellen eines neuen Organisations-Agent-Pools aus. Daraufhin wird sowohl ein Agentpool auf Organisationsebene als auch einer auf Projektebene erstellt. Installieren und Konfigurieren von Agents schließlich als Teil dieses Agentpools.

  • Sie sind ein Mitglied des Infrastrukturteams und möchten einen Pool mit Agents zur Verwendung in allen Projekten einrichten. Stellen Sie zunächst sicher, dass Sie mitglied einer Gruppe in allen Pools mit der Administratorrolle sind. Erstellen Sie als Nächstes einen Neuen Organisations-Agent-Pool in Ihren Administratoreinstellungen und wählen Sie die Option zum Automatischen Bereitstellen entsprechender Projekt-Agentpools in allen Projekten beim Erstellen des Pools aus. Mit dieser Einstellung wird sichergestellt, dass alle Projekte über einen Pool verfügen, der auf den Organisations-Agentpool verweist. Das System erstellt einen Pool für vorhandene Projekte, und in Zukunft wird es dies tun, wenn ein neues Projekt erstellt wird. Installieren und Konfigurieren von Agents schließlich als Teil dieses Agentpools.

  • Sie möchten eine Gruppe von Agent-Computern in mehreren Projekten gemeinsam nutzen, aber nicht alle. Erstellen Sie zunächst einen Projekt-Agent-Pool in einem der Projekte, und wählen Sie die Option zum Erstellen eines neuen Organisations-Agent-Pools aus, während Sie diesen Pool erstellen. Wechseln Sie als Nächstes zu jedem der anderen Projekte, und erstellen Sie einen Pool in jedem dieser Projekte, während Sie die Option zum Verwenden eines vorhandenen Organisations-Agentpools auswählen. Installieren und Konfigurieren von Agents schließlich als Teil des freigegebenen Agentpools.

Sicherheit von Agentpools

Wenn Sie wissen, wie die Sicherheit für Agentpools funktioniert, hilft Ihnen dies dabei, die Freigabe und Verwendung von Agents zu steuern.

Rollen werden für jeden Agentpool definiert, und die Mitgliedschaft in diesen Rollen steuert, welche Vorgänge Sie in einem Agentpool ausführen können.

Rolle in einem Agentpool in Organisationseinstellungen Zweck
Leser Mitglieder dieser Rolle können den Agentpool sowie Agents anzeigen. Sie verwenden dies in der Regel, um Operatoren hinzuzufügen, die für die Überwachung der Agents und deren Integrität verantwortlich sind.
Dienstkonto Mitglieder dieser Rolle können den Organisations-Agentpool verwenden, um einen Projekt-Agentpool in einem Projekt zu erstellen. Wenn Sie den oben genannten Richtlinien zum Erstellen neuer Projekt-Agent-Pools folgen, müssen Sie in der Regel keine Mitglieder hier hinzufügen.
Administrator Zusätzlich zu allen oben genannten Berechtigungen können Mitglieder dieser Rolle Agenten aus dem Organisations-Agent-Pool registrieren oder aufheben. Sie können auch auf den Organisations-Agentpool verweisen, wenn sie einen Projekt-Agentpool in einem Projekt erstellen. Schließlich können sie auch die Mitgliedschaft für alle Rollen des Organisations-Agentpools verwalten. Der Benutzer, der den Organisations-Agentpool erstellt hat, wird automatisch der Administratorrolle für diesen Pool hinzugefügt.

Der Knoten "Alle Agentpools " auf der Registerkarte "Agentpools" wird verwendet, um die Sicherheit aller Organisations-Agentpools zu steuern. Rollenmitgliedschaften für einzelne Organisations-Agentpools werden automatisch von denen des Knotens "Alle Agentpools" geerbt. Bei Verwendung von TFS oder Azure DevOps Server sind TFS und Azure DevOps Server Administratoren auch Administratoren des Knotens "Alle Agentpools".

Rollen werden auch für jeden Projekt-Agent-Pool definiert, und Mitgliedschaften in diesen Rollen steuern, welche Vorgänge Sie auf einem Agentpool auf Projektebene ausführen können.

Rolle in einem Agentpool in Projekteinstellungen Zweck
Leser Mitglieder dieser Rolle können den Projekt-Agentpool anzeigen. Sie verwenden dies in der Regel, um Operatoren hinzuzufügen, die für die Überwachung der Build- und Bereitstellungsaufträge in diesem Projekt-Agent-Pool verantwortlich sind.
Benutzer Mitglieder dieser Rolle können den Projekt-Agent-Pool beim Erstellen von Pipelines verwenden.
Administrator Zusätzlich zu allen oben genannten Vorgängen können Mitglieder dieser Rolle die Mitgliedschaft für alle Rollen des Projekt-Agent-Pools verwalten. Der Benutzer, der den Pool erstellt hat, wird automatisch der Rolle „Administrator“ für diesen Pool hinzugefügt.

Der Knoten "Alle Agentpools " auf der Registerkarte "Agentpools" wird verwendet, um die Sicherheit aller Projekt-Agent-Pools in einem Projekt zu steuern. Rollenmitgliedschaften für einzelne Projekt-Agentpools werden automatisch von denen des Knotens "Alle Agentpools" geerbt. Standardmäßig werden die folgenden Gruppen der Rolle „Administrator“ von „Alle Agentpools“ hinzugefügt: Buildadministratoren, Releaseadministratoren, Projektadministratoren.

Die Sicherheitsaktion auf der Registerkarte "Agentpools" wird verwendet, um die Sicherheit aller Projekt-Agent-Pools in einem Projekt zu steuern. Rollenmitgliedschaften für einzelne Projekt-Agentpools werden automatisch von dem geerbt, was Sie hier definieren. Standardmäßig werden die folgenden Gruppen der Rolle „Administrator“ von „Alle Agentpools“ hinzugefügt: Buildadministratoren, Releaseadministratoren, Projektadministratoren.

Häufig gestellte Fragen

Wenn ich kein Wartungsfenster geplant habe, wann wird die Wartung der Agents ausgeführt?

Wenn kein Fenster geplant ist, führt der Agent in diesem Pool den Wartungsauftrag nicht aus.

Was ist ein Wartungsauftrag?

Sie können Agentpools so konfigurieren, dass sie regelmäßig veraltete Arbeitsverzeichnisse und Repositorys bereinigen. Dies sollte das Potenzial für die Agents reduzieren, um speicherplatzauslaufen zu können. Wartungsaufträge werden auf Projektsammlungs- oder Organisationsebene in den Agentpooleinstellungen konfiguriert.

So konfigurieren Sie Wartungsauftragseinstellungen:

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

    Choose Organization settings.

  2. Wählen Sie Agentpools aus.

    Choose Agent pools tab.

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

    Choose Collection settings.

  2. Wählen Sie Agentpools aus.

    Choose Agent pools.

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

    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 verwalten" aus.

    Choose Manage pools, 2018.

Wählen Sie den gewünschten Pool aus, und wählen Sie Einstellungen aus, um Wartungsauftragseinstellungen für diesen Agentpool zu konfigurieren.

Wichtig

Sie müssen über die Berechtigung "Buildwarteschlangen verwalten " verfügen, um Wartungsauftragseinstellungen zu konfigurieren. Wenn die Registerkarte Einstellungen oder die Registerkarte "Wartungsverlauf" nicht angezeigt wird, verfügen Sie nicht über diese Berechtigung, die standardmäßig der Administratorrolle gewährt wird. Weitere Informationen finden Sie unter Sicherheit von Agentpools.

Maintenance job settings

Maintenance job settings for TFS

Konfigurieren Sie Ihre gewünschten Einstellungen, und wählen Sie "Speichern" aus.

Wählen Sie den Wartungsverlauf aus, um den Wartungsauftragsverlauf für den aktuellen Agentpool anzuzeigen. Sie können Protokolle herunterladen und überprüfen, um die durchgeführten Reinigungsschritte und Aktionen anzuzeigen.

Maintenance job history

Die Wartung erfolgt pro Agentpool, nicht pro Computer; Wenn Sie über mehrere Agentpools auf einem einzelnen Computer verfügen, können Sie möglicherweise immer noch Probleme mit dem Speicherplatz haben.

Der Wartungsauftrag meines selbst gehosteten Agentpools sieht hängen. Warum?

In der Regel erhält ein Wartungsauftrag "hängen", wenn er auf einen Agent wartet, der sich nicht mehr im Agentpool befindet. Dies geschieht, wenn z. B. der Agent absichtlich offline genommen wurde oder wenn Probleme bei der Kommunikation mit diesem auftreten.

Wartungsaufträge, die ausgeführt wurden, warten sieben Tage, bis sie ausgeführt werden. Danach werden sie automatisch abgebrochen, wenn sie nicht ausgeführt werden. Der Grenzwert ist im System hart codiert und kann nicht geändert werden.

Die Sieben-Tage-Grenze unterscheidet sich von der Einstellung für Wartungsauftragstimeouts . Dieser steuert die maximale Anzahl von Minuten, die ein Agent bei der Wartung verbringen kann. Der Zeitgeber beginnt, wenn der Auftrag gestartet wird, nicht, wenn der Auftrag auf einem Agent in die Warteschlange gestellt wird.

Ich versuche, einen Projekt-Agent-Pool zu erstellen, der einen vorhandenen Organisations-Agent-Pool verwendet, aber die Steuerelemente sind ausgegraut. Warum?

Im Dialogfeld "Projekt-Agentpool erstellen" können Sie keinen vorhandenen Organisations-Agent-Pool verwenden, wenn sie bereits von einem anderen Projekt-Agent-Pool verwiesen wird. Jeder Organisations-Agentpool kann nur von einem Projekt-Agent-Pool in einer bestimmten Projektsammlung verwiesen werden.

Ich kann keinen von Microsoft gehosteten Pool auswählen, und ich kann meinen Build nicht in die Warteschlange stellen. Wie kann ich dies korrigieren?

Bitten Sie den Besitzer Ihrer Azure DevOps Organisation, Ihnen die Berechtigung zur Verwendung des Pools zu gewähren. Siehe Sicherheit von Agentpools.

Ich benötige mehr gehostete Buildressourcen. Was kann ich tun?

A: Der Azure Pipelines Pool bietet alle Azure DevOps Organisationen mit cloud gehosteten Build-Agents und kostenlosen Buildminuten jeden Monat. Wenn Sie mehr von Microsoft gehostete Buildressourcen benötigen oder mehr Aufträge parallel ausführen müssen, können Sie entweder: