Provisionner des groupes de déploiement

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

Un groupe de déploiement est un ensemble logique de machines cibles de déploiement qui ont des agents installés sur chacune d’elles. Les groupes de déploiement représentent les environnements physiques, par exemple, « Dev », « Test » et « Production ». En fait, un groupe de déploiement est simplement un autre regroupement d’agents comme un pool d’agents.

Les groupes de déploiement sont disponibles uniquement avec les pipelines de mise en production classiques et ils diffèrent des travaux de déploiement. Un travail de déploiement est une collection d’étapes liées au déploiement définie dans un fichier YAML afin d’accomplir une tâche spécifique.

Les groupes de déploiement vous permettent d’effectuer ceci :

  • Spécifier le contexte de sécurité et les cibles de runtime pour les agents. Lorsque vous créez un groupe de déploiement, vous ajoutez des utilisateurs et vous leur accordez les autorisations appropriées pour administrer, gérer, afficher et utiliser le groupe.

  • Afficher les journaux dynamiques de chaque serveur au fur et à mesure qu’un déploiement a lieu, puis télécharger les journaux pour tous les serveurs afin de suivre vos déploiements jusqu’aux machines individuelles.

  • Utiliser des étiquettes de machine pour limiter le déploiement à des ensembles spécifiques de serveurs cibles.

Créer un groupe de déploiement

Un groupe de déploiement est un ensemble de machines virtuelles dotées d’agents de déploiement. Chaque machine virtuelle du groupe de déploiement interagit avec Azure Pipelines pour coordonner les tâches de déploiement.

  1. Dans votre projet, sélectionnezPipelines>Groupes de déploiement.

    Accéder aux groupes de déploiement

  2. Sélectionnez Ajouter un groupe de déploiement.

    Ajouter de nouveaux groupes de déploiement

  3. Entrez un nom de groupe de déploiement, puis sélectionnez Créer. Un script d’inscription va être généré. Sélectionnez le type de cible à inscrire, puis sélectionnez Utiliser un jeton d’accès personnel dans le script pour l’authentification. Enfin, sélectionnez Copier le script dans le Presse-papiers.

    Créer un groupe de déploiement – Script généré

  4. Connectez-vous à chacune de vos machines cibles et exécutez le script à partir d’une invite de commandes PowerShell avec élévation de privilèges pour l’inscrire en tant que serveur cible. Lorsque vous êtes invité à entrer des étiquettes pour votre agent, appuyez sur Oui, puis entrez les étiquettes que vous allez utiliser pour filtrer les sous-ensembles des serveurs.

    Inscrire des serveurs de groupes de déploiement

Après avoir configuré vos serveurs cibles, le script doit retourner le message suivant : Service vstsagent.{organization-name}.{computer-name} started successfully.

Les étiquettes que vous affectez à vos serveurs cibles vous permettent de limiter le déploiement à des serveurs spécifiques dans un travail de groupe de déploiement. Une étiquette est limitée à 256 caractères, mais il n’existe aucune limite quant au nombre d’étiquettes que vous pouvez utiliser.

Notes

Un pool de déploiement est un ensemble de serveurs cibles disponibles pour l’organisation (étendus à l’organisation). Lorsque vous créez un pool de déploiement pour des projets dans votre organisation, un groupe de déploiement correspondant est automatiquement provisionné pour chaque projet. Les groupes de déploiement auront les mêmes serveurs cibles que le pool de déploiement. Vous pouvez déclencher manuellement une mise à niveau de version de l’agent pour vos serveurs cibles en pointant sur les points de suspension (...) dans Pools de déploiement et en sélectionnant Mettre à jour les cibles. Pour plus d’informations, consultez Versions et mises à niveau de l’agent.

Capture d’écran montrant comment mettre à jour des cibles dans des pools de déploiement.

Configurer des agents sur des groupes de déploiement

Chaque serveur cible du groupe de déploiement nécessite un agent de déploiement. Vous pouvez installer un agent sur vos serveurs cibles de trois façons différentes :

Vous pouvez forcer la mise à niveau des agents sur les serveurs cibles vers la dernière version sans avoir besoin de les redéployer en sélectionnant Mettre à jour les cibles dans la page de vos groupes de déploiement.

Capture d’écran montrant comment mettre à jour des cibles dans des groupes de déploiement.

Superviser l’état de mise en production pour des groupes de déploiement

Lorsqu’un pipeline de mise en production est en cours d’exécution, vous pouvez afficher les journaux dynamiques de chaque serveur cible inclus dans votre groupe de déploiement. Une fois le déploiement terminé, vous pouvez télécharger les fichiers journaux de chaque serveur afin d’examiner les déploiements et de déboguer les éventuels problèmes.

Journaux de mise en production des groupes de déploiement

Partager un groupe de déploiement avec d’autres projets

Les groupes de déploiement peuvent être partagés avec d’autres projets dans la même organization. Suivez les étapes ci-dessous pour provisionner votre groupe de déploiement pour d’autres projets :

  1. Dans votre projet, sélectionnezPipelines>Groupes de déploiement.

  2. Sélectionnez votre groupe de déploiement, puis sélectionnez Gérer.

    Gérer les groupes de déploiement

  3. Sélectionnez un projet dans la liste, puis sélectionnez Enregistrer.

    Partager un groupe de déploiement avec un projet

  4. Vous allez maintenant remarquer qu’il existe un nouveau groupe de déploiement dans le projet que vous venez d’inclure.

    Nouveau groupe de déploiement partagé

Déployer automatiquement sur de nouveaux serveurs cibles

Lorsque de nouveaux serveurs cibles sont ajoutés à un groupe de déploiement, vous pouvez configurer l’environnement pour déployer automatiquement la dernière mise en production réussie sur les nouvelles cibles.

À partir de la définition de votre pipeline de mise en production, sélectionnez l’icône de post-déploiement, puis activez le déclencheur de redéploiement automatique. Sélectionnez les événements et l’action comme indiqué ci-dessous.

Déployer automatiquement sur de nouveaux serveurs cibles