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
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.
Pipeline PR - Identique à la base de référence
Pipeline CI - Identique à la base de référence
Déclencheur de pipeline CD - Identique à la base de référence
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.
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.
CD mise en production - Identique à la base de référence
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
- Pensez à utiliser des stratégies et des procédures Azure DevTest Labs pour contrôler les 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.