Vue d’ensemble de l’infrastructure CI/CD immuable à l’aide de Jenkins et Terraform sur l’architecture virtuelle Azure

Log Analytics
Disques managés
Virtual Machine Scale Sets
GitHub

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 Java, Node.js, Go ou PHP pour développer vos applications, vous aurez besoin d’un pipeline d’intégration continue et de déploiement continu (CI/CD) pour transmettre automatiquement les modifications à ces machines virtuelles.Whether you use Java, Node.js, Go, or PHP to develop your applications, you'll need a continuous integration and continuous deployment (CI/CD) pipeline to push changes to these virtual machines automatically.

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’application.Change application source code.
  2. Valider le code dans GitHub.Commit code to GitHub.
  3. Déclencheur d’intégration continue pour Jenkins.Continuous Integration Trigger to Jenkins.
  4. Jenkins déclenche une génération d’image Packer pour créer une machine virtuelle, et stocke celle-ci en tant qu’image de machine virtuelle à l’aide de disques managés Azure.Jenkins triggers a Packer image build to create a VM and stores it as a VM image using Azure Managed Disks.
  5. Jenkins déclenche Terraform pour approvisionner un nouveau groupe de machines virtuelles identiques à l’aide de l’image de machine virtuelle de disques managés Azure.Jenkins triggers Terraform to provision a new Virtual Machine Scale Set using the Azure Managed Disks VM image.
  6. Azure Log Analytics collecte et analyse les journaux.Azure Log Analytics collects and analyzes logs.
  7. Surveillez l’application et apportez des améliorations.Monitor application and make improvements.

ComposantsComponents

  • Disques managés : stockage sur disque persistant et sécurisé pour machines virtuelles Azure.Managed Disks: Persistent, secured disk storage for Azure virtual machines.
  • Virtual Machine Scale Sets : gérer et mettre à l’échelle jusqu’à des milliers de machines virtuelles Windows et Linux.Virtual Machine Scale Sets: Manage and scale up to thousands of Linux and Windows virtual machines.
  • Log Analytics : collecter, rechercher et visualiser des données de machine localement et dans le cloud.Log Analytics: Collect, search, and visualize machine data from on-premises and cloud.
  • Visual Studio Code : créez et déployer des applications multi-plateformes pour tirer le meilleur parti des services Azure.Visual Studio Code: Build and deploy multi-platform apps to get the most from Azure services.

Étapes suivantesNext steps

Déployer sur AzureDeploy to Azure