Créer et gérer des pools d’agents

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

Un pool d’agents est une collection d’agents. Au lieu de gérer chaque agent individuellement, vous organisez les agents en pools d’agents. Quand vous configurez un agent, il est inscrit auprès d’un pool unique et quand vous créez un pipeline, vous spécifiez le pool dans lequel le pipeline s’exécute. Quand vous exécutez le pipeline, il s’exécute sur un agent de ce pool, répondant aux demandes du pipeline.

Dans Azure Pipelines, les pools sont étendus à l’ensemble de l’organisation. Vous pouvez ainsi partager les ordinateurs agents entre plusieurs projets.

Dans Azure DevOps Server, les pools d’agents sont étendus à l’ensemble du serveur. Vous pouvez ainsi partager les ordinateurs agents entre plusieurs projets et plusieurs collections.

Notes

Les travaux de pool d’agents exécutent un travail sur un seul agent. Si vous devez exécuter un travail sur tous les agents (par exemple un groupe de déploiement pour des pipelines de mise en production classiques), consultez Provisionner des groupes de déploiement.

Si vous êtes administrateur d’organisation, vous créez et gérez des pools d’agents à partir de l’onglet Pools d’agents dans les paramètres d’administration.

  1. Connectez-vous à votre organisation (https://dev.azure.com/{yourorganization}).

  2. Choisissez Azure DevOps, Paramètres de l’organisation.

    Choisissez Paramètres de l’organisation.

  3. Choisissez Pools d’agents.

    Choisissez l’onglet Pools d’agents.

  1. Connectez-vous à votre collection de projets (http://your-server/DefaultCollection).

  2. Choisissez Azure DevOps, Paramètres de la collection.

    Choisissez Paramètres de la collection.

  3. Choisissez Pools d’agents.

    Choisissez Pools d’agents.

  1. Choisissez Azure DevOps, Paramètres de la collection.

    Paramètres de la collection, 2019.

  2. Choisissez Pools d’agents.

    Choisissez Pools d’agents, 2019.

Si vous êtes membre de l’équipe de projet, vous créez et gérez des pools d’agents à partir de l’onglet des pools d’agents dans les paramètres du projet.

Accédez à votre projet et choisissez Paramètres du projet, Pools d’agents.

Accédez à votre projet et choisissez Paramètres du projet, Pools d’agents.

Accédez à votre projet et choisissez Paramètres du projet, Pools d’agents.

Accédez à votre projet et choisissez Paramètres du projet, Pools d’agents (2020).

Accédez à votre projet et choisissez Paramètres du projet, Pools d’agents.

Accédez à votre projet et choisissez Paramètres du projet, Pools d’agents (2019).

Pools d’agents par défaut

Les pools d’agents suivants sont fournis par défaut :

  • Pool hébergé Azure Pipelines avec différentes images Windows, Linux et macOS. Pour obtenir la liste complète des images disponibles et des logiciels installés correspondants, consultez Agents hébergés par Microsoft.

    Notes

    Le pool hébergé Azure Pipelines remplace les pools hébergés précédents qui avaient des noms mappés aux images correspondantes. Tous les travaux que vous aviez dans les pools hébergés précédents sont automatiquement redirigés vers l’image correcte dans le nouveau pool hébergé Azure Pipelines. Dans certains cas, vous pouvez toujours voir les anciens noms de pool, mais en arrière-plan, les travaux hébergés sont exécutés avec le pool Azure Pipelines. Pour plus d’informations, consultez les notes de publication sur le pool hébergé unique dans les notes de publication du 1er juillet 2019 - Sprint 154.

Par défaut, tous les contributeurs d’un projet sont membres du rôle Utilisateur sur les pools hébergés. Cela permet à chaque contributeur d’un projet de créer et d’exécuter des pipelines à l’aide d’agents hébergés par Microsoft.

Désigner un pool dans votre pipeline

Pour choisir un agent hébergé par Microsoft à partir du pool Azure Pipelines dans votre pipeline YAML Azure DevOps Services, spécifiez le nom de l’image en utilisant l’étiquette d’image de machine virtuelle YAML de ce tableau.

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

Pour utiliser un pool privé sans aucune demande :

pool: MyPool

Pour plus d’informations, consultez le schéma YAML pour les pools.

Gérer les pools et les files d’attente

Si vous êtes administrateur d’organisation, vous créez et gérez des pools d’agents à partir de l’onglet Pools d’agents dans les paramètres d’administration.

  1. Connectez-vous à votre organisation (https://dev.azure.com/{yourorganization}).

  2. Choisissez Azure DevOps, Paramètres de l’organisation.

    Choisissez Paramètres de l’organisation.

  3. Choisissez Pools d’agents.

    Choisissez l’onglet Pools d’agents.

  1. Connectez-vous à votre collection de projets (http://your-server/DefaultCollection).

  2. Choisissez Azure DevOps, Paramètres de la collection.

    Choisissez Paramètres de la collection.

  3. Choisissez Pools d’agents.

    Choisissez Pools d’agents.

  1. Choisissez Azure DevOps, Paramètres de la collection.

    Paramètres de la collection, 2019.

  2. Choisissez Pools d’agents.

    Choisissez Pools d’agents, 2019.

Si vous êtes membre de l’équipe de projet, vous créez et gérez des pools d’agents à partir de l’onglet des pools d’agents dans les paramètres du projet.

Accédez à votre projet et choisissez Paramètres du projet, Pools d’agents.

Accédez à votre projet et choisissez Paramètres du projet, Pools d’agents.

Accédez à votre projet et choisissez Paramètres du projet, Pools d’agents.

Accédez à votre projet et choisissez Paramètres du projet, Pools d’agents (2020).

Accédez à votre projet et choisissez Paramètres du projet, Pools d’agents.

Accédez à votre projet et choisissez Paramètres du projet, Pools d’agents (2019).

Les pools sont utilisés pour exécuter des travaux. Découvrez comment spécifier des pools pour des travaux.

Si vous avez de nombreux agents autohébergés destinés à des équipes ou à des objectifs différents, vous souhaiterez peut-être créer d’autres pools, comme expliqué ci-dessous.

Créer des pools d’agents

Voici quelques cas typiques où vous voudrez probablement créer des pools d’agents autohébergés :

  • Vous êtes membre d’un projet et vous souhaitez utiliser un ensemble de machines appartenant à votre équipe pour exécuter des travaux de build et de déploiement. Tout d’abord, assurez-vous que vous disposez des autorisations nécessaires pour créer des pools dans votre projet en sélectionnant Sécurité sur la page des pools d’agents dans les paramètres de votre projet. Vous devez avoir le rôle Administrateur pour pouvoir créer des pools. Ensuite, sélectionnez Ajouter un pool et sélectionnez l’option permettant de créer un nouveau pool. Enfin, installez et configurez les agents pour qu’ils fassent partie de ce pool d’agents.

  • Vous êtes membre de l’équipe d’infrastructure et aimeriez configurer un pool d’agents à utiliser dans tous les projets. Tout d’abord, assurez-vous que vous disposez des autorisations nécessaires pour créer des pools dans votre projet en sélectionnant Sécurité sur la page des pools d’agents dans les paramètres de votre organisation. Ensuite, créez un nouveau pool d’agents et sélectionnez l’option permettant de provisionner automatiquement ce pool d’agents dans tous les projets lors de la création du pool. Ceci garantit que tous les projets ont accès à ce pool d’agents. Enfin, installez et configurez les agents pour qu’ils fassent partie de ce pool d’agents.

  • Vous souhaitez partager un ensemble d’ordinateurs d’agent avec plusieurs projets, mais pas tous. Tout d’abord, accédez aux paramètres de l’un des projets, ajoutez un pool d’agents et sélectionnez l’option permettant de créer un pool (nouveau) au niveau de l’organisation. Ensuite, accédez à chacun des autres projets et créez un pool dans chacun d’eux en sélectionnant l’option Utiliser un pool d’agents existant dans l’organisation. Enfin, installez et configurez les agents pour qu’ils fassent partie du pool d’agents partagé.

  • Vous êtes membre d’un projet et vous souhaitez utiliser un ensemble de machines appartenant à votre équipe pour exécuter des travaux de build et de déploiement. Tout d’abord, assurez-vous que vous disposez des autorisations nécessaires pour créer des pools dans votre projet en sélectionnant Sécurité sur la page des pools d’agents dans les paramètres de votre projet. Vous devez avoir le rôle Administrateur pour pouvoir créer des pools. Ensuite, sélectionnez Ajouter un pool et sélectionnez l’option permettant de créer un nouveau pool. Enfin, installez et configurez les agents pour qu’ils fassent partie de ce pool d’agents.

  • Vous êtes membre de l’équipe d’infrastructure et aimeriez configurer un pool d’agents à utiliser dans tous les projets. Tout d’abord, assurez-vous que vous disposez des autorisations nécessaires pour créer des pools dans votre projet en sélectionnant Sécurité sur la page des pools d’agents dans les paramètres de votre collection de projets. Ensuite, créez un nouveau pool d’agents et sélectionnez l’option permettant de provisionner automatiquement ce pool d’agents dans tous les projets lors de la création du pool. Ceci garantit que tous les projets ont accès à ce pool d’agents. Enfin, installez et configurez les agents pour qu’ils fassent partie de ce pool d’agents.

  • Vous souhaitez partager un ensemble d’ordinateurs d’agent avec plusieurs projets, mais pas tous. Tout d’abord, accédez aux paramètres de l’un des projets, ajoutez un pool d’agents et sélectionnez l’option permettant de créer un pool (nouveau) au niveau de l’organisation. Ensuite, accédez à chacun des autres projets et créez un pool dans chacun d’eux en sélectionnant l’option Utiliser un pool d’agents existant dans l’organisation. Enfin, installez et configurez les agents pour qu’ils fassent partie du pool d’agents partagé.

  • Vous êtes membre d’un projet et vous souhaitez utiliser un ensemble de machines appartenant à votre équipe pour exécuter des travaux de build et de déploiement. Tout d’abord, vérifiez que vous êtes membre d’un groupe dans Tous les pools avec le rôle Administrateur. Ensuite, créez un Nouveau pool d’agents de projet dans les paramètres de votre projet et sélectionnez l’option pour Créer un pool d’agents d’organisation. Un pool d’agents de niveau projet et un de niveau organisation sont ainsi créés. Enfin, installez et configurez les agents pour qu’ils fassent partie de ce pool d’agents.

  • Vous êtes membre de l’équipe d’infrastructure et aimeriez configurer un pool d’agents à utiliser dans tous les projets. Tout d’abord, vérifiez que vous êtes membre d’un groupe dans Tous les pools avec le rôle Administrateur. Ensuite, créez un Nouveau pool d’agents d’organisation dans vos paramètres d’administrateur et sélectionnez l’option pour Provisionner automatiquement les pools d’agents de projet correspondants dans tous les projets durant la création du pool. Ce paramètre garantit que tous les projets disposent d’un pool pointant vers le pool d’agents d’organisation. Le système crée un pool pour les projets existants et en créera un chaque fois qu’un projet sera créé. Enfin, installez et configurez les agents pour qu’ils fassent partie de ce pool d’agents.

  • Vous souhaitez partager un ensemble d’ordinateurs d’agent avec plusieurs projets, mais pas tous. Tout d’abord, créez un pool d’agents de projet dans l’un des projets et sélectionnez l’option pour Créer un pool d’agents d’organisation durant la création de ce pool. Ensuite, accédez à chacun des autres projets et créez un pool dans chacun d’eux en sélectionnant l’option Utiliser un pool d’agents d’organisation existant. Enfin, installez et configurez les agents pour qu’ils fassent partie du pool d’agents partagé.

Sécurité des pools d’agents

Comprendre comment fonctionne la sécurité des pools d’agents vous aide à contrôler le partage et l’utilisation des agents.

Des rôles sont définis sur chaque pool d’agents et l’appartenance à ces rôles détermine les opérations que vous pouvez effectuer sur un pool d’agents.

Paramètres de sécurité au niveau de l’organisation

Rôle sur un pool d’agents dans les paramètres de l’organisation Objectif
Lecteur Les membres de ce rôle peuvent voir le pool d’agents et les agents. En général, vous l’utilisez pour ajouter des opérateurs responsables de la supervision des agents et de leur intégrité.
Compte Service Account Les membres de ce rôle peuvent utiliser le pool d’agents d’organisation pour créer un pool d’agents de projet dans un projet. Si vous suivez les instructions ci-dessus pour créer des pools d’agents de projet, vous n’êtes normalement pas obligé d’ajouter des membres ici.
Administrateur Outre toutes les autorisations ci-dessus, les membres de ce rôle peuvent inscrire des agents auprès du pool d’agents d’organisation ou les désinscrire. Ils peuvent aussi se référer au pool d’agents d’organisation lorsqu’ils créent un pool d’agents de projet dans un projet. Enfin, ils peuvent également gérer l’appartenance pour tous les rôles du pool d’agents d’organisation. L’utilisateur qui a créé le pool d’agents d’organisation est automatiquement ajouté au rôle Administrateur pour ce pool.

Le nœud Tous les pools d’agents sous l’onglet Pools d’agents permet de contrôler la sécurité de tous les pools d’agents d’organisation. Les appartenances aux rôles pour les pools d’agents d’organisation individuels sont automatiquement héritées du nœud « Tous les pools d’agents ». Par défaut, les administrateurs TFS et Azure DevOps Server sont également administrateurs du nœud « Tous les pools d’agents » quand TFS ou Azure DevOps Server est utilisé.

Paramètres de sécurité au niveau du projet

Des rôles sont également définis sur chaque pool d’agents de projet et l’appartenance à ces rôles détermine les opérations que vous pouvez effectuer sur un pool d’agents au niveau du projet.

Rôle sur un pool d’agents dans les paramètres du projet Objectif
Lecteur Les membres de ce rôle peuvent voir le pool d’agents de projet. En général, vous l’utilisez pour ajouter des opérateurs responsables de la supervision des travaux de build et de déploiement dans ce pool d’agents de projet.
Utilisateur Les membres de ce rôle peuvent utiliser le pool d’agents de projet quand ils créent des pipelines.
Administrateur Outre toutes les opérations ci-dessus, les membres de ce rôle peuvent gérer l’appartenance à tous les rôles du pool d’agents de projet. L’utilisateur qui a créé le pool est automatiquement ajouté au rôle Administrateur pour ce pool.

Autorisations de pipeline

Les autorisations de pipeline contrôlent les pipelines YAML autorisés à utiliser un pool d’agents. Les autorisations de pipeline ne limitent pas l’accès à partir des pipelines classiques.

Vous pouvez choisir parmi les options suivantes :

  • Ouvrez l’accès à tous les pipelines pour utiliser le pool d’agents à partir des options supplémentaires dans le coin supérieur droit de la section Autorisations des pipelines sous l’onglet Sécurité d’un pool d’agents.

  • Verrouillez le pool d’agents et autorisez uniquement les pipelines YAML sélectionnés à l’utiliser. Si un autre pipeline YAML fait référence au pool d’agents, une demande d’autorisation est déclenchée et doit être approuvée par un administrateur de pool d’agents. Cela ne limite pas l’accès à partir des pipelines classiques.

Capture d’écran de l’expérience utilisateur des autorisations de pipeline pour un pool d’agents.

Les autorisations de pipeline pour le pool d’agents Azure Pipelines ne peuvent pas être configurées, car le pool est accessible à tous les pipelines par défaut.

Le nœud Tous les pools d’agents sous l’onglet Pools d’agents permet de contrôler la sécurité de tous les pools d’agents de projet dans un projet. Les appartenances aux rôles pour les pools d’agents de projet individuels sont automatiquement héritées du nœud « Tous les pools d’agents ». Par défaut, les groupes suivants sont ajoutés au rôle Administrateur de « Tous les pools d’agents » : Administrateurs de build, Administrateurs de mise en production, Administrateurs de projet.

L’action Sécurité dans l’onglet Pools d’agents permet de contrôler la sécurité de tous les pools d’agents de projet dans un projet. Les appartenances aux rôles des pools d’agents de projet individuels sont automatiquement héritées de ce que vous définissez ici. Par défaut, les groupes suivants sont ajoutés au rôle Administrateur de « Tous les pools d’agents » : Administrateurs de build, Administrateurs de mise en production, Administrateurs de projet.

Questions fréquentes (FAQ)

Si je ne planifie pas de fenêtre de maintenance, quand les agents exécuteront-ils la maintenance ?

Si aucune fenêtre n’est planifiée, les agents de ce pool n’exécutent pas le travail de maintenance.

Qu’est-ce qu’un travail de maintenance ?

Vous pouvez configurer des pools d’agents pour nettoyer périodiquement les dépôts et répertoires de travail obsolètes. Ceci doit réduire le risque de manquer d’espace disque pour les agents. Les tâches de maintenance sont configurées au niveau de l’organisation dans les paramètres du pool d’agents.

Pour configurer les paramètres d’un travail de maintenance :

  1. Connectez-vous à votre organisation (https://dev.azure.com/{yourorganization}).

  2. Choisissez Azure DevOps, Paramètres de l’organisation.

    Choisissez Paramètres de l’organisation.

  3. Choisissez Pools d’agents.

    Choisissez l’onglet Pools d’agents.

  1. Connectez-vous à votre collection de projets (http://your-server/DefaultCollection).

  2. Choisissez Azure DevOps, Paramètres de la collection.

    Choisissez Paramètres de la collection.

  3. Choisissez Pools d’agents.

    Choisissez Pools d’agents.

  1. Choisissez Azure DevOps, Paramètres de la collection.

    Paramètres de la collection, 2019.

  2. Choisissez Pools d’agents.

    Choisissez Pools d’agents, 2019.

Choisissez le pool souhaité, puis choisissez Paramètres pour configurer les paramètres du travail de maintenance pour ce pool d’agents.

Important

Vous devez disposer de l’autorisation Gérer les files d’attente de build pour configurer les paramètres du travail de maintenance. Si vous ne voyez pas l’onglet Paramètres ou l’onglet Historique de maintenance, cela signifie que vous ne disposez pas de cette autorisation, qui est accordée par défaut au rôle Administrateur. Pour plus d’informations, consultez Sécurité des pools d’agents.

Paramètres du travail de maintenance

Configurez les paramètres souhaités et choisissez Enregistrer.

Sélectionnez Historique de maintenance pour voir l’historique des travaux de maintenance pour le pool d’agents actuel. Vous pouvez télécharger et consulter les journaux pour voir les actions et les étapes de nettoyage effectuées.

Historique des travaux de maintenance

La maintenance étant effectuée par pool d’agents (et non par machine), si vous avez plusieurs pools d’agents sur une même machine, vous risquez quand même de rencontrer des problèmes d’espace disque.

Le travail de maintenance de mon pool d’agents auto-hébergés semble bloqué. Pourquoi ?

En règle générale, un travail de maintenance est « bloqué » lorsqu’il attend de s’exécuter sur un agent qui n’est plus dans le pool d’agents. Cela se produit lorsque, par exemple, l’agent a été délibérément mis hors connexion ou lorsqu’il y a des problèmes de communication avec celui-ci.

L’exécution de travaux de maintenance mis en file d’attente attendra sept jours pour s’exécuter. Ensuite, ils seront automatiquement définis sur un état d’échec s’ils ne sont pas exécutés. La durée maximale ne peut être modifiée.

La limite de sept jours est différente du paramètre de délai d’expiration du travail de maintenance. Ce paramètre contrôle le nombre maximal de minutes qu’un agent peut passer à effectuer la maintenance. Le minuteur démarre quand le travail commence, et non lorsque le travail est mis en file d’attente sur un agent.

J’essaie de créer un pool d’agents de projet utilisant un pool d’agents d’organisation existant, mais les contrôles sont grisés. Pourquoi ?

La boîte de dialogue « Créer un pool d’agents de projet » ne permet pas d’utiliser un pool d’agents d’organisation existant s’il est déjà référencé par un autre pool d’agents de projet. Chaque pool d’agents d’organisation peut être référencé par un seul pool d’agents de projet au sein d’une collection de projets donnée.

Je ne peux pas sélectionner un pool hébergé par Microsoft et je ne peux pas mettre ma build en file d’attente. Comment la corriger ?

Demandez au propriétaire de votre organisation Azure DevOps de vous accorder l’autorisation d’utiliser le pool. Consultez Sécurité des pools d’agents.

J’ai besoin de plus de ressources de build hébergées. Que puis-je faire ?

R : Le pool Azure Pipelines fournit à toutes les organisations Azure DevOps des agents de build hébergés dans le cloud et des minutes de génération gratuites chaque mois. Si vous avez besoin de plus de ressources de build hébergées par Microsoft ou si vous avez besoin d’exécuter plus de travaux en parallèle, vous pouvez :