CI/CD pour les machines virtuelles Azure

Application Insights
Azure DevOps
DevTest Labs
Azure Resource Manager
Machines Virtuelles

Idée de solution Solution Idea

Si vous souhaitez nous voir développer cet article avec d’autres informations, les détails de l’implémentation, le guide de tarification ou des exemples de code, faites-le-nous savoir avec les Commentaires de GitHub !If you'd like to see us expand this article with more information, implementation details, pricing guidance, or code examples, let us know with GitHub Feedback!

Azure est un cloud de premier ordre pour héberger des machines virtuelles exécutant Windows ou Linux.Azure is a world-class cloud for hosting virtual machines running Windows or Linux. Que vous utilisiez ASP.NET, Java, Node.js ou PHP pour développer des applications, vous aurez besoin d’un pipeline d’intégration continue et de déploiement continu (CI/CD) pour envoyer automatiquement les modifications à ces machines virtuelles.Whether you use ASP.NET, Java, Node.js, or PHP to develop applications, you'll need a continuous integration and continuous deployment (CI/CD) pipeline to push changes to these virtual machines automatically.

Azure DevOps fournit le pipeline de CI/CD, en commençant par un dépôt git pour la gestion du code source et de l’infrastructure de votre application (modèles ARM), un système de génération pour la production de packages et d’autres artefacts de build, et un système Release Management pour configurer un pipeline afin de déployer vos modifications dans des environnements de développement, de test et de production.Azure DevOps provides the CI/CD pipeline, starting with a Git repository for managing your application source code and infrastructure code (ARM templates), a Build system for producing packages and other build artifacts, and a Release Management system for setting up a pipeline to deploy your changes through dev, test, and production environments. Le pipeline utilise des modèles ARM pour approvisionner ou mettre à jour votre infrastructure en fonction des besoins dans chaque environnement, puis déploie la build mise à jour.The pipeline uses ARM templates to provision or update your infrastructure as necessary in each environment, and then deploys the updated build. Vous pouvez également utiliser Azure DevTest Labs pour détruire automatiquement des ressources de test non utilisées.You can also use Azure DevTest Labs to automatically tear down test resources that are not in use.

ArchitectureArchitecture

Diagramme d’architecture Télécharger un SVG de cette architecture.Architecture diagram Download an SVG of this architecture.

Data FlowData Flow

  1. Changer le code source de l’applicationChange application source code
  2. Valider le modèle code d’application et le modèle Azure Resource Manager (ARM)Commit Application Code and Azure Resource Manager (ARM) Template
  3. L’intégration continue déclenche la génération de l’application et des tests unitaires.Continuous integration triggers application build and unit tests
  4. Le déclencheur de déploiement continu orchestre le déploiement d’artefacts d’application avec des paramètres propres à l’environnementContinuous deployment trigger orchestrates deployment of application artifacts with environment-specific parameters
  5. Déploiement vers l’environnement AQDeployment to QA environment
  6. Déploiement vers l’environnement intermédiaireDeployment to staging environment
  7. Déploiement vers l’environnement de productionDeployment to production environment
  8. Application Insights collecte et analyse les données relatives à l’intégrité, aux performances et à l’utilisationApplication Insights collects and analyses health, performance, and usage data
  9. Passer en revue les informations relatives à l’intégrité, aux performances et à l’utilisationReview health, performance and usage information
  10. Mettre à jour l’élément du backlogUpdate backlog item

ComponentsComponents

  • Machines virtuelles : approvisionner des machines virtuelles Windows et Linux en quelques secondesVirtual Machines: Provision Windows and Linux virtual machines in seconds
  • Azure DevTest Labs : créer rapidement des environnements avec des modèles et des artefacts réutilisablesAzure DevTest Labs: Quickly create environments using reusable templates and artifacts
  • Application Insights : détecter, hiérarchiser et diagnostiquer des problèmes dans vos applications et services webApplication Insights: Detect, triage, and diagnose issues in your web apps and services.
  • Azure DevOps : créer et déployer des applications multi-plateformes pour tirer le meilleur parti des services AzureAzure DevOps: Build and deploy multi-platform apps to get the most from Azure services

Étapes suivantesNext steps