Architecture Azure Pipelines avec DevTest Labs

Important

CI/CD avec DevTest Labs est une variante de Concevoir un pipeline CI/CD à l’aide d’Azure DevOps. Cet article est axé sur les spécificités du déploiement dans des environnements intermédiaires DevTest Labs.

DevTest Labs vous permet de provisionner rapidement des environnements Windows et Linux en utilisant des modèles et des artefacts réutilisables. Ces environnements peuvent être utiles pour les développeurs, mais ils peuvent également être utilisés dans des pipelines CI/CD pour le provisionnement d’environnements intermédiaires. Consultez Scénarios Azure DevTest Labs pour voir si DevTest Labs convient à votre scénario.

Cet article décrit un workflow général DevOps pour déployer des modifications d’application à l’aide de pratiques d’intégration continue (CI) et de déploiement continu (CD) à l’aide d’Azure Pipelines. Un environnement DevTest Labs est utilisé pour l’environnement intermédiaire.

Architecture

Diagramme d’architecture d’un pipeline CI/CD utilisant Azure Pipelines, et qui utilise Azure DevTest Labs pour un environnement intermédiaire.

Téléchargez un fichier Visio de cette architecture.

Dataflow

Cette section part du principe que vous avez lu Architecture de base Azure Pipelines, et elle est axée uniquement sur les spécificités du déploiement d’une charge de travail sur Azure DevTest Labs pour la préproduction.

  1. Pipeline PR - Identique à la base de référence

  2. Pipeline CI - Identique à la base de référence

  3. Déclencheur de pipeline CD - Identique à la base de référence

  4. CD créer l’environnement intermédiaire Azure DevTest Labs - Cette étape crée l’environnement DevTest Labs qui fait office d’environnement intermédiaire. L’étape comprend :

    • Créer un environnement Azure DevTest Labs dans un abonnement intermédiaire.
    • Déployer un modèle ARM dans l’environnement DevTest Labs. Les images de machine virtuelle peuvent être stockées dans une galerie d’images partagées.
    • Effectuer toutes les étapes de post-déploiement pour configurer correctement l’environnement intermédiaire.
  5. CD mise en préproduction - Identique à la base de référence à une exception près. L’environnement intermédiaire est un environnement DevTest Labs.

  6. CD mise en production - Identique à la base de référence

  7. Monitoring - identique à la base de référence

Composants

Cette section part du principe que vous avez lu la section sur les composants d’architecture de base Azure Pipelines, et elle est axée uniquement sur les spécificités du déploiement d’une charge de travail sur Azure DevTest Labs pour la préproduction.

  • Azure DevTest Labs est un service permettant de créer, d’utiliser et de gérer des environnements utilisés à des fins de développement, de test et de déploiement. Le service vous permet de facilement déployer des environnements préconfigurés de manière économique.

Autres solutions

  • Alternative à la création de l’environnement intermédiaire DevTest Labs dans le cadre du processus CD, vous pouvez précréer l’environnement en dehors du pipeline. Cela aura l’avantage positif d’accélérer le pipeline. Cette alternative empêchera la destruction de l’environnement une fois le pipeline terminé, ce qui augmente le coût.

  • Dans les situations où VM Image Builder et une galerie d’images partagées ne fonctionnent pas, vous pouvez configurer une fabrique d’images pour générer des images de machine virtuelle à partir du pipeline CI/CD et les distribuer automatiquement aux Azure DevTest Labs inscrits sur ces images. Pour plus d’informations, consultez Exécuter une fabrique d’images depuis Azure DevOps.

  • D’autres environnements, au-delà de la préproduction, peuvent être créés et déployés dans le cadre du pipeline CD. Ces environnements peuvent prendre en charge des activités telles que les tests de performances et les tests d’acceptation par l’utilisateur.

Considérations

Cette section part du principe que vous avez lu la section sur les considérations applicables à l’architecture de base Azure Pipelines, et elle est axée uniquement sur les spécificités du déploiement d’une charge de travail sur Azure DevTest Labs pour la préproduction.

Optimisation des coûts

Excellence opérationnelle

  • Pensez à implémenter des environnements au-delà de la préproduction et de la production pour activer des opérations telles que les restaurations, les tests d’acceptation manuels et les tests de performances. Le fait d’utiliser la préproduction en tant qu’environnement de restauration vous empêche de pouvoir utiliser cet environnement à d’autres fins.

Étapes suivantes