Partager via


Agents macOS autohébergés

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

Cet article fournit des conseils sur l’utilisation du logiciel d’agent 3.x avec Azure DevOps Services et les versions actuelles d’Azure DevOps Server. Pour obtenir la liste des versions d’Azure DevOps Server qui prennent en charge l’agent 3.x, consultez Azure DevOps Server prend-il en charge l’agent 3.x.

Pour générer et déployer des applications Xcode, vous avez besoin d’au moins un agent macOS. Cet agent peut également générer et déployer des applications Java et Android.

Remarque

Cet article explique comment configurer un agent auto-hébergé . Si vous utilisez Azure DevOps Services et un agent hébergé par Microsoft répondent à vos besoins, vous pouvez ignorer la configuration d’un agent macOS auto-hébergé.

En savoir plus sur les agents

Si vous connaissez déjà ce qu’est un agent et comment il fonctionne, n’hésitez pas à passer directement aux sections suivantes. Mais si vous souhaitez en savoir plus sur ce qu’ils font et comment ils fonctionnent, consultez agents Azure Pipelines.

Vérifier les prérequis

  • Systèmes d’exploitation pris en charge
    • x64
      • macOS 10.15 « Catalina »
      • macOS 11.0 « Big Sur »
      • macOS 12.0 « Monterey »
      • macOS 13.0 « Ventura »
      • macOS 14.0 « Sonoma »
    • ARM64
      • macOS 11.0 « Big Sur »
      • macOS 12.0 « Monterey »
      • macOS 13.0 « Ventura »
      • macOS 14.0 « Sonoma »
  • Git - Git 2.9.0 ou version ultérieure (dernière version recommandée ) vous pouvez facilement l’installer avec Homebrew)
  • .NET - Le logiciel de l’agent s’exécute sur .NET 6, mais installe sa propre version de .NET afin qu’il n’existe aucun prérequis .NET.
  • TFVC : si vous effectuez la génération à partir d’un référentiel TFVC, consultez Prérequis TFVC.

Préparer les autorisations

Si vous générez à partir d’un dépôt Subversion, vous devez installer le client Subversion sur l’ordinateur.

Vous devez exécuter le programme d’installation de l’agent manuellement la première fois. Après avoir ressenti le fonctionnement des agents ou si vous souhaitez automatiser la configuration de nombreux agents, envisagez d’utiliser configuration sans assistance.

Sécurité des informations pour les agents auto-hébergés

L’utilisateur configurant l’agent a besoin d’autorisations d’administrateur de pool, mais l’utilisateur exécutant l’agent ne le fait pas.

Les dossiers contrôlés par l’agent doivent être limités à autant d’utilisateurs que possible, car ils contiennent des secrets qui peuvent être déchiffrés ou exfiltrés.

L’agent Azure Pipelines est un produit logiciel conçu pour exécuter le code qu’il télécharge à partir de sources externes. Il peut s’agir par nature d’une cible pour les attaques RCE (Remote Code Execution).

Par conséquent, il est important de prendre en compte le modèle de menace entourant chaque utilisation individuelle des agents de pipelines pour effectuer le travail, et de décider quelles sont les autorisations minimales qui peuvent être accordées à l’utilisateur exécutant l’agent, à l’ordinateur sur lequel l’agent s’exécute, aux utilisateurs qui ont accès en écriture à la définition de pipeline, les dépôts git où le yaml est stocké, ou le groupe d’utilisateurs qui contrôlent l’accès au pool pour les nouveaux pipelines.

Il est préférable que l'identité sous laquelle l'agent s'exécute soit distincte de celle ayant les autorisations pour relier l'agent au pool. L’utilisateur qui génère les informations d’identification (et d’autres fichiers liés à l’agent) est différent de celui qui doit les lire. Par conséquent, il est plus sûr d’envisager soigneusement l’accès accordé à l’ordinateur de l’agent lui-même, ainsi que les dossiers de l’agent qui contiennent des fichiers sensibles, tels que les journaux et les artefacts.

Il est judicieux d’accorder l’accès au dossier de l’agent uniquement pour les administrateurs DevOps et l’identité utilisateur exécutant le processus de l’agent. Les administrateurs peuvent avoir besoin d’examiner le système de fichiers pour comprendre les échecs de build ou obtenir des fichiers journaux pour pouvoir signaler des échecs Azure DevOps.

Déterminer l’utilisateur que vous allez utiliser

À titre d’étape unique, vous devez inscrire l’agent. Ces étapes doivent être effectuées par une personne disposant de l’autorisation d’administration de la file d’attente d’agents. L'agent n'utilisera pas les identifiants de cette personne dans les opérations quotidiennes, mais ils sont nécessaires pour compléter l'inscription. Apprenez-en davantage sur le mode de communication des agents.

Confirmer que l’utilisateur dispose d’une autorisation

Vérifiez que le compte d’utilisateur que vous allez utiliser est autorisé à inscrire l’agent.

L’utilisateur est-il propriétaire de l’organisation Azure DevOps ou TFS ou administrateur du serveur Azure DevOps ? Arrêtez ici, vous avez l’autorisation.

Autrement:

  1. Ouvrez un navigateur et accédez à l'onglet Pools d'agents pour votre organisation Azure Pipelines ou votre serveur Azure DevOps ou TFS :

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

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

      Choisir les paramètres de l’organisation.

    3. Choisissez Pools d’agents.

      Choisissez l'onglet des pools d'agents.

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

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

      Choisir les paramètres de collection.

    3. Choisissez Pools d’agents.

      Choisir des pools d’agents.

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

      paramètres de Paramètres de la collection, 2019.

    2. Choisissez Pools d’agents.

      Choisir des pools d’agents, 2019.

  2. Sélectionnez le pool à droite de la page, puis cliquez sur Sécurité.

  3. Si le compte d’utilisateur que vous allez utiliser n’est pas affiché, obtenez un administrateur pour l’ajouter. L’administrateur peut être un administrateur de pool d’agents, un propriétaire de l’organisation Azure DevOps, ou un TFS ou un administrateur de serveur Azure DevOps.

    S’il s’agit d’un agent de groupe de déploiement , l’administrateur peut être soit un administrateur de groupe de déploiement, soit un propriétaire de l’organisation Azure DevOps , soit un administrateur TFS ou Azure DevOps Server .

    Vous pouvez ajouter un utilisateur au rôle d’administrateur de groupe de déploiement dans l’onglet Sécurité dans la page Groupes de déploiement dans Azure Pipelines .

Remarque

Si vous voyez un message semblable à ceci : Désolé, nous n’avons pas pu ajouter l’identité. Essayez une autre identité., vous avez probablement suivi les étapes ci-dessus pour un propriétaire de l’organisation ou un administrateur de serveur TFS ou Azure DevOps. Vous n’avez rien à faire ; vous disposez déjà de l’autorisation d’administrer le pool d’agents.

Télécharger et configurer l’agent

Azure Pipelines

  1. Connectez-vous à l’ordinateur à l’aide du compte pour lequel vous avez préparé des autorisations, comme expliqué dans la section précédente.

  2. Dans votre navigateur web, connectez-vous à Azure Pipelines et accédez à l’onglet Groupes d'agents :

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

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

      Choisir les 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.

      Choisir les paramètres de collection.

    3. Choisissez Pools d’agents.

      Choisir des pools d’agents.

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

      paramètres de Paramètres de la collection, 2019.

    2. Choisissez Pools d’agents.

      Choisir des pools d’agents, 2019.

  3. Sélectionnez le pool Par défaut, sélectionnez l’onglet Agents, puis choisissez Nouvel agent.

  4. Dans la boîte de dialogue Obtenir l’agent, cliquez sur macOS.

  5. Cliquez sur le bouton Télécharger.

  6. Suivez les instructions de la page.

  7. Effacez l’attribut étendu sur le fichier tar : xattr -c vsts-agent-osx-x64-V.v.v.tar.gz.

  8. Décompressez l’agent dans le répertoire de votre choix. cd vers ce répertoire et exécutez ./config.sh. Assurez-vous que le chemin d’accès au répertoire ne contient aucun espace, car les outils et les scripts n’échappent pas toujours correctement aux espaces.

URL du serveur

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

Serveur Azure DevOps : https://{your_server}/tfs

Type d’authentification

Lorsque vous inscrivez un agent, choisissez parmi les types d’authentification suivants et le programme d’installation de l’agent vous invite à entrer les informations supplémentaires spécifiques requises pour chaque type d’authentification. Pour plus d'informations, consultez Options d'authentification de l'agent auto-hébergé.

  • jeton d’accès personnel
  • Connectez-vous alternativement à Azure DevOps Server ou TFS à l’aide de l’authentification De base. Lorsque vous sélectionnez Alternative, vous serez invité à fournir vos informations d'identification.

Exécuter de manière interactive

Pour obtenir de l’aide sur le choix entre l’exécution de l’agent en mode interactif ou en tant que service, consultez Agents : Interactif ou service.

Pour exécuter l’agent de manière interactive :

  1. Si vous avez exécuté l’agent en tant que service, désinstallez le service.

  2. Exécutez l'agent.

    ./run.sh
    

Pour redémarrer l’agent, appuyez sur Ctrl+C, puis exécutez run.sh pour le redémarrer.

Pour utiliser votre agent, exécutez un travail en utilisant le pool de l’agent. Si vous n’avez pas choisi un autre pool, votre agent est placé dans le pool par défaut.

Exécuter une seule fois

Pour les agents configurés pour s’exécuter de manière interactive, vous pouvez choisir d’avoir l’agent accepter une seule tâche. Pour s’exécuter dans cette configuration :

./run.sh --once

Les agents dans ce mode n'acceptent qu'une seule tâche, puis s'arrêtent progressivement (utile pour s'exécuter sur un service comme Azure Container Instances).

Exécuter en tant que service lancé

Nous fournissons le script ./svc.sh pour exécuter et gérer votre agent en tant que service LaunchAgent launchd. Ce script est généré après avoir configuré l’agent. Le service a accès à l’interface utilisateur pour exécuter vos tests d’interface utilisateur.

Remarque

Si vous préférez d’autres approches, vous pouvez utiliser le type de mécanisme de service que vous préférez. Consultez Fichiers de service.

Jetons

Dans la section suivante, ces jetons sont remplacés :

  • {agent-name}

  • {tfs-name}

Par exemple, vous avez configuré un agent (comme indiqué dans l’exemple précédent) avec le nom our-osx-agent. Dans les exemples suivants, {tfs-name} est soit :

  • Azure Pipelines : nom de votre organisation. Par exemple, si vous vous connectez à https://dev.azure.com/fabrikam, le nom du service est vsts.agent.fabrikam.our-osx-agent

  • TFS : nom de votre serveur TFS AT local. Par exemple, si vous vous connectez à http://our-server:8080/tfs, le nom du service est vsts.agent.our-server.our-osx-agent

Commandes

Passer au répertoire de l’agent

Par exemple, si vous avez installé dans le sous-dossier myagent de votre répertoire de base :

cd ~/myagent$

Installer

Commande :

./svc.sh install

Cette commande crée un plist launchd qui pointe vers ./runsvc.sh. Ce script configure l’environnement (plus de détails dans la section suivante) et démarre l’hôte de l’agent.

Démarrer

Commande :

./svc.sh start

Sortie:

starting vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:

/Users/{your-name}/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist

Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}

Le nombre de gauche est le pid si le service est en cours d’exécution. Si le deuxième nombre n’est pas égal à zéro, un problème s’est produit.

Statut

Commande :

./svc.sh status

Sortie:

status vsts.agent.{tfs-name}.{agent-name}:

/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist

Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}

Le nombre de gauche est le pid si le service est en cours d’exécution. Si le deuxième nombre n’est pas égal à zéro, un problème s’est produit.

Arrêter

Commande :

./svc.sh stop

Sortie:

stopping vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:

/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist

Stopped

Désinstaller

Vous devez arrêter avant de désinstaller.

Commande :

./svc.sh uninstall

Connexion et verrouillage automatiques

Normalement, le service d’agent s’exécute uniquement après que l’utilisateur se connecte. Si vous souhaitez que le service d’agent démarre automatiquement lorsque l’ordinateur redémarre, vous pouvez configurer l’ordinateur pour qu’il se connecte et verrouille automatiquement au démarrage. Consultez Définir votre Mac pour qu’il se connecte automatiquement au démarrage - Support Apple.

Remarque

Pour plus d'informations, consultez le blog Terminally Geeky : utilisez la connexion automatique de manière plus sécurisée. Le fichier .plist mentionné dans ce blog peut ne plus être disponible à la source, mais vous trouverez une copie ici : Lifehacker - Faites charger votre bureau à OS X avant de vous connecter.

Mettre à jour les variables d’environnement

Lorsque vous configurez le service, il prend un instantané de certaines variables d’environnement utiles pour votre utilisateur d’ouverture de session actuel, tel que PATH, LANG, JAVA_HOME, ANT_HOME et MYSQL_PATH. Si vous devez mettre à jour les variables (par exemple, après avoir installé un nouveau logiciel) :

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

L’instantané des variables d’environnement est stocké dans le fichier .env sous le répertoire racine de l’agent; vous pouvez également modifier ce fichier directement pour appliquer les modifications des variables d’environnement.

Exécuter des instructions avant le démarrage du service

Vous pouvez également exécuter vos propres instructions et commandes pour qu'elles s'exécutent lorsque le service démarre. Par exemple, vous pouvez configurer l’environnement ou appeler des scripts.

  1. Modifier runsvc.sh.

  2. Remplacez la ligne suivante par vos instructions :

    # insert anything to setup env when running as a service
    

Fichiers de service

Lorsque vous installez le service, certains fichiers de service sont mis en place.

Fichier de service .plist

Un fichier de service .plist est créé :

~/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist

Par exemple:

~/Library/LaunchAgents/vsts.agent.fabrikam.our-osx-agent.plist

./svc.sh install génère ce fichier à partir de ce modèle : ./bin/vsts.agent.plist.template

Fichier .service

./svc.sh start recherche le service en lisant le fichier .service, qui contient le chemin d’accès au fichier de service plist décrit ci-dessus.

Autres mécanismes de service

Nous fournissons le script ./svc.sh comme moyen pratique d’exécuter et de gérer votre agent en tant que service LaunchAgent launchd. Mais vous pouvez utiliser le type de mécanisme de service que vous préférez.

Vous pouvez utiliser le modèle décrit ci-dessus pour faciliter la génération d’autres types de fichiers de service. Par exemple, vous modifiez le modèle pour générer un service qui s’exécute en tant que démon de lancement si vous n’avez pas besoin de tests d’interface utilisateur et que vous ne souhaitez pas configurer la connexion automatique et le verrouillage. Consultez Bibliothèque de développeurs Apple : création de démons et d’agents de lancement.

Remplacer un agent

Pour remplacer un agent, suivez à nouveau les étapes décrites dans la section Télécharger et configurer l’agent.

Lorsque vous configurez un agent avec le même nom qu’un agent qui existe déjà, vous êtes invité à remplacer l’agent existant. Si vous répondez Y, veillez à supprimer l’agent (voir ci-dessous) que vous remplacez. Sinon, après quelques minutes de conflits, l’un des agents s’arrêtera.

Supprimer et reconfigurer un agent

Pour supprimer l’agent :

  1. Arrêtez et désinstallez le service comme expliqué dans la section précédente.

  2. Supprimez l’agent.

    ./config.sh remove
    
  3. Entrez vos informations d’identification.

Une fois que vous avez supprimé l’agent, vous pouvez le configurer à nouveau.

Configuration sans assistance

L’agent peut être configuré à partir d’un script sans intervention humaine. Vous devez transférer --unattended et les réponses à toutes les questions.

Pour configurer un agent, il doit connaître l’URL de votre organisation ou collection et les informations d’identification de quelqu'un autorisé à configurer des agents. Toutes les autres réponses sont facultatives. Tout paramètre de ligne de commande peut être spécifié à l’aide d’une variable d’environnement à la place : placez son nom en majuscules et ajoutez VSTS_AGENT_INPUT_devant. Par exemple, VSTS_AGENT_INPUT_PASSWORD au lieu de spécifier --password.

Options requises

  • --unattended : le programme d’installation de l’agent ne demande pas d’informations, et tous les paramètres doivent être fournis sur la ligne de commande
  • --url <url> - URL du serveur. Par exemple : https://dev.azure.com/myorganization ou http://my-azure-devops-server:8080/tfs
  • --auth <type> : type d’authentification. Les valeurs valides sont les suivantes :
    • pat (jeton d’accès personnel) : pat est le seul schéma qui fonctionne avec Azure DevOps Services.
    • alt (authentification de base)

Options d’authentification

  • Si vous avez choisi --auth pat:
    • --token <token> : spécifie votre jeton d’accès personnel
    • PAT est le seul schéma qui fonctionne avec Azure DevOps Services.
  • Si vous avez choisi --auth negotiate ou --auth alt:
    • --userName <userName> : spécifie un nom d’utilisateur
    • --password <password> : spécifie un mot de passe

Noms de pool et d’agent

  • --pool <pool> : Nom du pool que l’agent doit joindre
  • --agent <agent> - Nom de l’agent
  • --replace : remplacez l’agent dans un pool. Si un autre agent écoute sous le même nom, il commence à échouer avec un conflit

Configuration de l’agent

  • --work <workDirectory> - répertoire de travail où les données de travail sont stockées. Le répertoire par défaut est _work à la racine du répertoire de l’agent. Le répertoire de travail appartient à un agent donné et ne doit pas être partagé entre plusieurs agents.
  • --acceptTeeEula - acceptez le contrat de licence utilisateur final Team Explorer Everywhere (macOS et Linux uniquement)
  • --disableloguploads : Ne pas envoyer (en streaming ou non) la sortie de journal de la console au serveur. Au lieu de cela, vous pouvez les récupérer du système de fichiers de l’hôte de l’agent une fois le travail terminé.

Groupe de déploiement uniquement

  • --deploymentGroup : configurer l’agent en tant qu’agent de groupe de déploiement
  • --deploymentGroupName <name> - utilisé avec --deploymentGroup pour spécifier le groupe de déploiement de l’agent à joindre
  • --projectName <name> - utilisé avec --deploymentGroup pour définir le nom du projet
  • --addDeploymentGroupTags - utilisé avec --deploymentGroup pour indiquer que les balises de groupe de déploiement doivent être ajoutées
  • --deploymentGroupTags <tags> - utilisé avec --addDeploymentGroupTags pour spécifier la liste de balises séparée par des virgules pour l'agent du groupe de déploiement - par exemple "web, db"

Environnements uniquement

  • --addvirtualmachineresourcetags - utilisé pour indiquer que les balises de ressource d’environnement doivent être ajoutées
  • --virtualmachineresourcetags <tags> - utilisé avec --addvirtualmachineresourcetags pour spécifier la liste de balises séparée par des virgules pour l’agent de l’environnement pour les ressources, par exemple « web, db »

./config.sh --help répertorie toujours les réponses obligatoires et facultatives les plus récentes.

Diagnostics

Si vous rencontrez des problèmes avec votre agent auto-hébergé, vous pouvez essayer d’exécuter des diagnostics. Après avoir configuré l’agent :

./run.sh --diagnostics

Cette opération s’exécute via une suite de diagnostics qui peut vous aider à résoudre le problème. La fonctionnalité de diagnostic est disponible à partir de l’agent version 2.165.0.

Diagnostics réseau pour les agents autohébergés

Définissez la valeur de Agent.Diagnostic à true pour collecter des journaux supplémentaires qui peuvent être utilisés pour résoudre les problèmes réseau pour les agents auto-hébergés. Pour plus d’informations, consultez Diagnostics réseau pour les agents auto-hébergés.

Aide sur d’autres options

Pour en savoir plus sur d’autres options :

./config.sh --help

L’aide fournit des informations sur les alternatives d’authentification et la configuration sans assistance.

Capacités

Les capacités de votre agent sont cataloguées et publiées dans le pool pour que seules les builds et les mises en production qu’il peut gérer lui soient attribuées. Consultez Capacités des agents de build et de mise en production.

Dans de nombreux cas, après avoir déployé un agent, vous devez installer des logiciels ou des utilitaires. En règle générale, vous devez installer sur vos agents les logiciels et outils que vous utilisez sur votre ordinateur de développement.

Par exemple, si votre build inclut la tâche npm, la build ne s’exécute pas, sauf s’il existe un agent de build dans le pool sur lequel npm est installé.

Important

Les fonctionnalités incluent toutes les variables d’environnement et les valeurs définies lors de l’exécution de l’agent. Si l’une de ces valeurs change pendant l’exécution de l’agent, celui-ci doit être redémarré pour récupérer les nouvelles valeurs. Après avoir installé un nouveau logiciel sur un agent, vous devez redémarrer l’agent pour que la nouvelle fonctionnalité s’affiche dans le pool, afin que la build puisse s’exécuter.

Si vous souhaitez exclure des variables d’environnement en tant que fonctionnalités, vous pouvez les désigner en définissant une variable d’environnement VSO_AGENT_IGNORE avec une liste délimitée par des virgules de variables à ignorer.

FAQ

Comment vérifier que je dispose de la dernière version de l’agent ?

  1. Accédez à l’onglet Pools d’agents :

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

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

      Choisir les 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.

      Choisir les paramètres de collection.

    3. Choisissez Pools d’agents.

      Choisir des pools d’agents.

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

      paramètres de collection Paramètres de la collection, 2019.

    2. Choisissez Pools d’agents.

      Choisir des pools d’agents, 2019.

  2. Cliquez sur le pool qui contient l’agent.

  3. Vérifiez que l’agent est activé.

  4. Accédez à l’onglet Fonctionnalités :

    1. Dans l’onglet Pools d’agents, sélectionnez le pool d’agents souhaité.

      À partir des pools d’agents, sélectionnez le pool d’agents souhaité.

    2. Sélectionnez Agents et choisissez l’agent souhaité.

      Sélectionner des agents et choisir l’agent.

    3. Choisissez l’onglet Fonctionnalités.

      Choisissez l’onglet Fonctionnalités.

      Remarque

      Les agents hébergés par Microsoft n’affichent pas de fonctionnalités système. Pour obtenir la liste des logiciels installés sur des agents hébergés par Microsoft, consultez Utiliser un agent hébergé par Microsoft.

    1. Dans l’onglet Pools d’agents, sélectionnez le pool souhaité.

      Sélectionner le pool souhaité.

    2. Sélectionnez Agents et choisissez l’agent souhaité.

      Sélectionner des agents et choisir l’agent souhaité.

    3. Choisissez l’onglet Fonctionnalités.

      onglet Fonctionnalités de l’agent Onglet Capacités de l’agent.

    1. Dans l’onglet Pools d’agents, sélectionnez le pool souhaité.

      Sélectionnez l’onglet souhaité, 2019.

    2. Sélectionnez Agents et choisissez l’agent souhaité.

      Choisir l’agent souhaité, 2019.

    3. Choisissez l’onglet Fonctionnalités.

      Choisissez l’onglet Fonctionnalités, 2019.

  5. Recherchez la capacité Agent.Version. Vous pouvez vérifier cette valeur par rapport à la dernière version de l’agent publié. Consultez Agent Azure Pipelines et recherchez le numéro de version le plus élevé dans la page.

  6. Chaque agent se met automatiquement à jour lorsqu’il exécute une tâche nécessitant une version plus récente de l’agent. Si vous souhaitez mettre à jour manuellement certains agents, cliquez avec le bouton droit sur le pool, puis sélectionnez Mettre à jour tous les agents.

Puis-je mettre à jour mes agents qui font partie d’un pool de serveurs Azure DevOps ?

Oui. À compter d’Azure DevOps Server 2019, vous pouvez configurer votre serveur pour rechercher les fichiers de package d’agent sur un disque local. Cette configuration remplacera la version par défaut qui a été fournie avec le serveur au moment de sa sortie. Ce scénario s’applique également lorsque le serveur n’a pas accès à Internet.

  1. À partir d’un ordinateur ayant accès à Internet, téléchargez la dernière version des fichiers de package de l’agent (au format .zip ou .tar.gz) depuis la page des Releases GitHub de l’agent Azure Pipelines .

  2. Transférez les fichiers de package téléchargés vers chaque niveau d’application du serveur Azure DevOps à l’aide d’une méthode de votre choix (par exemple, lecteur USB, transfert réseau, etc.). Placez les fichiers de l’agent sous le dossier suivant :

  • Windows : %ProgramData%\Microsoft\Azure DevOps\Agents
  • Linux : usr/share/Microsoft/Azure DevOps/Agents
  • macOS : usr/share/Microsoft/Azure DevOps/Agents

Créez le dossier Agents s’il n’est pas présent.

  1. Vous êtes tous prêts ! Votre serveur Azure DevOps utilise désormais les fichiers locaux chaque fois que les agents sont mis à jour. Chaque agent se met automatiquement à jour lorsqu’il exécute une tâche nécessitant une version plus récente de l’agent. Toutefois, si vous souhaitez mettre à jour manuellement certains agents, cliquez avec le bouton droit sur le pool, puis choisissez Mettre à jour tous les agents.

Comment vérifier que je dispose de la dernière version de l’agent ?

  1. Accédez à l’onglet Pools d’agents :

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

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

      Choisir les 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.

      Choisir les paramètres de collection.

    3. Choisissez Pools d’agents.

      Choisir des pools d’agents.

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

      paramètres de la Collection Paramètres de la collection, 2019.

    2. Choisissez Pools d’agents.

      Choisir des pools d’agents, 2019.

  2. Cliquez sur le pool qui contient l’agent.

  3. Vérifiez que l’agent est activé.

  4. Accédez à l’onglet Fonctionnalités :

    1. Dans l’onglet Pools d’agents, sélectionnez le pool d’agents souhaité.

      À partir des pools d’agents, sélectionnez le pool d’agents souhaité.

    2. Sélectionnez Agents et choisissez l’agent souhaité.

      Sélectionner des agents et choisir l’agent.

    3. Choisissez l’onglet Fonctionnalités.

      Choisissez l’onglet Fonctionnalités.

      Remarque

      Les agents hébergés par Microsoft n’affichent pas de fonctionnalités système. Pour obtenir la liste des logiciels installés sur des agents hébergés par Microsoft, consultez Utiliser un agent hébergé par Microsoft.

    1. Dans l’onglet Pools d’agents, sélectionnez le pool souhaité.

      Sélectionner le pool souhaité.

    2. Sélectionnez Agents et choisissez l’agent souhaité.

      Sélectionner des agents et choisir l’agent souhaité.

    3. Choisissez l’onglet Fonctionnalités.

      onglet Fonctionnalités de l’agent Onglet Capacités de l’agent.

    1. Dans l’onglet Pools d’agents, sélectionnez le pool souhaité.

      Sélectionnez l’onglet souhaité, 2019.

    2. Sélectionnez Agents et choisissez l’agent souhaité.

      Choisir l’agent souhaité, 2019.

    3. Choisissez l’onglet Fonctionnalités.

      Choisissez l’onglet Fonctionnalités, 2019.

  5. Recherchez la capacité Agent.Version. Vous pouvez vérifier cette valeur par rapport à la dernière version de l’agent publié. Consultez Agent Azure Pipelines et recherchez le numéro de version le plus élevé dans la page.

  6. Chaque agent se met automatiquement à jour lorsqu’il exécute une tâche nécessitant une version plus récente de l’agent. Si vous souhaitez mettre à jour manuellement certains agents, cliquez avec le bouton droit sur le pool, puis sélectionnez Mettre à jour tous les agents.

Puis-je mettre à jour mes agents qui font partie d’un pool de serveurs Azure DevOps ?

Oui. À compter d’Azure DevOps Server 2019, vous pouvez configurer votre serveur pour rechercher les fichiers de package d’agent sur un disque local. Cette configuration remplace la version par défaut qui est fournie avec le serveur au moment de sa publication. Ce scénario s’applique également lorsque le serveur n’a pas accès à Internet.

  1. À partir d’un ordinateur disposant d’un accès Internet, téléchargez la dernière version des fichiers de package de l’agent (au format .zip ou .tar.gz) à partir de la page des Releases GitHub de l’agent Azure Pipelines .

  2. Transférez les fichiers de package téléchargés vers chaque niveau d’application du serveur Azure DevOps à l’aide d’une méthode de votre choix (par exemple, lecteur USB, transfert réseau, etc.). Placez les fichiers de l’agent sous le dossier suivant :

  • Windows : %ProgramData%\Microsoft\Azure DevOps\Agents
  • Linux : usr/share/Microsoft/Azure DevOps/Agents
  • macOS : usr/share/Microsoft/Azure DevOps/Agents

Créez le dossier Agents s’il n’est pas présent.

  1. Vous êtes tous prêts ! Votre serveur Azure DevOps utilise désormais les fichiers locaux chaque fois que les agents sont mis à jour. Chaque agent se met automatiquement à jour lorsqu’il exécute une tâche nécessitant une version plus récente de l’agent. Toutefois, si vous souhaitez mettre à jour manuellement certains agents, cliquez avec le bouton droit sur le pool, puis choisissez Mettre à jour tous les agents.

Où puis-je en savoir plus sur le fonctionnement du service lancé ?

Bibliothèque de développeurs Apple : création de démons et d’agents de lancement

J’exécute un pare-feu et mon code se trouve dans Azure Repos. Avec quelles URL l’agent doit-il communiquer ?

Si vous exécutez un agent dans un réseau sécurisé derrière un pare-feu, assurez-vous que l’agent peut lancer la communication avec les URL et adresses IP suivantes.

URL de domaine Description
https://{organization_name}.pkgs.visualstudio.com API d’empaquetage Azure DevOps pour les organisations utilisant le domaine {organization_name}.visualstudio.com
https://{organization_name}.visualstudio.com Pour les organisations utilisant le domaine {organization_name}.visualstudio.com
https://{organization_name}.vsblob.visualstudio.com Télémétrie Azure DevOps pour les organisations utilisant le domaine {organization_name}.visualstudio.com
https://{organization_name}.vsrm.visualstudio.com Release Management Services pour les organisations utilisant le domaine {organization_name}.visualstudio.com
https://{organization_name}.vssps.visualstudio.com Azure DevOps Platform Services pour les organisations utilisant le domaine {organization_name}.visualstudio.com
https://{organization_name}.vstmr.visualstudio.com Azure DevOps Test Management Services pour les organisations utilisant le domaine {organization_name}.visualstudio.com
https://*.blob.core.windows.net Artéfacts Azure
https://*.dev.azure.com Pour les organisations utilisant le domaine dev.azure.com
https://*.vsassets.io Azure Artifacts avec CDN
https://*.vsblob.visualstudio.com Télémétrie Azure DevOps pour les organisations utilisant le domaine dev.azure.com
https://*.vssps.visualstudio.com Azure DevOps Platform Services pour les organisations utilisant le domaine dev.azure.com
https://*.vstmr.visualstudio.com Azure DevOps Test Management Services pour les organisations utilisant le domaine dev.azure.com
https://app.vssps.visualstudio.com Pour les organisations utilisant le domaine {organization_name}.visualstudio.com
https://dev.azure.com Pour les organisations utilisant le domaine dev.azure.com
https://login.microsoftonline.com Connexion à Microsoft Entra
https://management.core.windows.net API de gestion Azure
https://vstsagentpackage.azureedge.net Forfait d’agent

Pour vous assurer que votre organisation fonctionne avec toutes les restrictions de pare-feu ou d’adresse IP existantes, assurez-vous que les dev.azure.com et les *dev.azure.com sont ouverts et mettent à jour vos adresses IP autorisées pour inclure les adresses IP suivantes, en fonction de votre version IP. Si vous êtes actuellement autorisé à répertorier les 13.107.6.183 et 13.107.9.183 adresses IP, laissez-les en place, car vous n’avez pas besoin de les supprimer.

Plages IPv4

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

Plages IPv6

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

Remarque

Pour plus d’informations sur les adresses autorisées, consultez listes d’adresses autorisées et les connexions réseau.

Comment exécuter l’agent avec un certificat auto-signé ?

Exécuter l’agent avec un certificat auto-signé

Comment exécuter l’agent derrière un proxy web ?

Exécuter l’agent derrière un proxy web

Comment redémarrer l’agent ?

Si vous exécutez l’agent de manière interactive, consultez les instructions de redémarrage dans Exécuter de manière interactive. Si vous exécutez l’agent en tant que service, suivez les étapes pour arrêter, puis démarrer l’agent.

Comment configurer l’agent pour contourner un proxy web et me connecter à Azure Pipelines ?

Si vous souhaitez que l’agent contourne votre proxy et se connecte directement à Azure Pipelines, vous devez configurer votre proxy web pour permettre à l’agent d’accéder aux URL suivantes.

Pour les organisations utilisant le domaine *.visualstudio.com :

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

Pour les organisations utilisant le domaine dev.azure.com :

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

Pour vous assurer que votre organisation fonctionne avec toutes les restrictions de pare-feu ou d’adresse IP existantes, assurez-vous que les dev.azure.com et les *dev.azure.com sont ouverts et mettent à jour vos adresses IP autorisées pour inclure les adresses IP suivantes, en fonction de votre version IP. Si vous êtes actuellement autorisé à répertorier les 13.107.6.183 et 13.107.9.183 adresses IP, laissez-les en place, car vous n’avez pas besoin de les supprimer.

Plages IPv4

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

Plages IPv6

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

Remarque

Cette procédure permet à l’agent de contourner un proxy web. Votre pipeline de build et vos scripts doivent toujours gérer le contournement de votre proxy web pour chaque tâche et outil que vous exécutez dans votre build.

Par exemple, si vous utilisez une tâche NuGet, vous devez configurer votre proxy web pour prendre en charge le contournement de l’URL du serveur qui héberge le flux NuGet que vous utilisez.

J’utilise TFS et les URL dans les sections ci-dessus ne fonctionnent pas pour moi. Où puis-je obtenir de l’aide ?

paramètres et sécurité du site web

J’utilise TFS localement et je ne vois pas certaines de ces fonctionnalités. Pourquoi pas?

Certaines de ces fonctionnalités sont disponibles uniquement sur Azure Pipelines et pas encore disponibles localement. Certaines fonctionnalités sont disponibles localement si vous avez mis à niveau vers la dernière version de TFS.

Prérequis pour l’interface TFVC

Si vous utilisez TFVC, vous aurez également besoin de la JDK Java Oracle 1.6 ou version ultérieure. (Oracle JRE et OpenJDK ne sont pas suffisants à cet effet.)

Le plug-in TEE est utilisé pour les fonctionnalités TFVC. Il a un CLUF, que vous devez accepter pendant la configuration si vous envisagez d’utiliser TFVC.

Étant donné que le plug-in TEE n’est plus conservé et contient certaines dépendances Java obsolètes, à partir de l’Agent 2.198.0, il n’est plus inclus dans la distribution de l’agent. Toutefois, le plug-in TEE est téléchargé pendant l’exécution de la tâche d’extraction si vous extrayez un référentiel TFVC. Le plug-in TEE est supprimé après l’exécution du travail.

Remarque

Remarque : vous remarquerez peut-être que votre tâche de paiement met un certain temps à s'exécuter à cause de ce mécanisme de téléchargement.

Si l’agent s’exécute derrière un proxy ou un pare-feu, vous devez accepter de garantir l’accès au site suivant : https://vstsagenttools.blob.core.windows.net/. Le plug-in TEE est téléchargé à partir de cette adresse.

Si vous utilisez un agent auto-hébergé et que vous rencontrez des problèmes avec le téléchargement de TEE, vous pouvez installer TEE manuellement :

  1. Définissez la variable d’environnement ou de pipeline DISABLE_TEE_PLUGIN_REMOVAL sur true. Cette variable empêche l’agent de supprimer le plug-in TEE après l’extraction du référentiel TFVC.
  2. Téléchargez manuellement la version 14.135.0 de TEE-CLC depuis les publications GitHub de Team Explorer Everywhere.
  3. Extrayez le contenu du dossier TEE-CLC-14.135.0 dans <agent_directory>/externals/tee.