Architecture Azure Pipelines avec Azure DevTest Labs

Important

CI/CD avec DevTest Labs est une variante de conception d’un pipeline CI/CD à l’aide d’Azure DevOps. Cet article se concentre sur les spécificités du déploiement dans un environnement intermédiaire DevTest Labs.

DevTest Labs vous permet de provisionner des environnements Windows et Linux à l’aide de modèles et d’artefacts réutilisables. Ces environnements sont utiles pour les développeurs, mais vous pouvez également les utiliser dans des pipelines CI/CD pour l’approvisionnement d’environnements intermédiaires. Consultez les scénarios Azure DevTest Labs pour déterminer si DevTest Labs est adapté à votre scénario.

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

Architecture

Diagramme d’architecture d’un pipeline CI/CD à l’aide d’Azure Pipelines 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 lisez l’architecture de base d’Azure Pipelines et se concentre uniquement sur les spécificités du déploiement d’une charge de travail sur DevTest Labs pour la préproduction.

  1. Pipeline de requête de tirage - Identique à la base de référence

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

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

  4. Création d’un environnement de préproduction DevTest Labs : cette étape consiste à créer l’environnement DevTest Labs qui agit comme environnement de préproduction. L’étape inclut :

    • Créez un environnement DevTest Labs dans un abonnement intermédiaire.
    • Déployez un modèle Azure Resource Manager dans l’environnement DevTest Labs. Les images de machine virtuelle peuvent être stockées dans une galerie d’images partagées.
    • Effectuez toutes les étapes post-déploiement pour configurer correctement l’environnement intermédiaire.
  5. Mise en production de CD en préproduction : identique à la base de référence avec une exception. L’environnement intermédiaire est un environnement DevTest Labs.

  6. Mise en production - du CDIdentique à la base de référence

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

Components

Cette section part du principe que vous lisez la section des composants d’architecture de base d’Azure Pipelines et se concentre uniquement sur les spécificités du déploiement d’une charge de travail sur DevTest Labs pour la préproduction.

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

Alternatives

  • Au lieu de créer l’environnement intermédiaire DevTest Labs dans le cadre du processus CD, créez préalablement l’environnement en dehors du pipeline. Cette approche accélère le pipeline. Toutefois, cette approche arrête la possibilité de détruire l’environnement une fois le pipeline terminé, ce qui augmente le coût.

  • Dans les situations où Azure VM Image Builder et une galerie d’images partagées ne fonctionnent pas, configurez une fabrique d’images pour générer des images de machine virtuelle à partir du pipeline CI/CD et distribuez-les automatiquement à n’importe quel DevTest Labs inscrit à ces images. Pour plus d’informations, consultez Exécuter une fabrique d’images à partir d’Azure DevOps.

  • Vous pouvez créer et déployer des environnements supplémentaires au-delà de la préproduction 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 des utilisateurs.

Considérations

Cette section part du principe que vous lisez la section considérations de l’architecture de base d’Azure Pipelines et se concentre uniquement sur les spécificités du déploiement d’une charge de travail sur DevTest Labs pour la préproduction.

Optimisation des coûts

Excellence opérationnelle

  • Envisagez d’implémenter des environnements au-delà de la préproduction et de la production pour permettre les retraits, les tests d'acceptation manuels et les tests de performance. L’utilisation de l’environnement de préproduction comme environnement de retour arrière empêche l’utilisation de cet environnement à d’autres fins.

Étapes suivantes