CI/CD per VM di Azure

Application Insights
Azure DevOps
DevTest Labs
Azure Resource Manager
Macchine virtuali

Soluzione idea Solution Idea

Per ulteriori informazioni, dettagli sull'implementazione, indicazioni sui prezzi o esempi di codice, vedere l'articolo relativo all'espansione di questo articolo con commenti e suggerimenti su 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 è un cloud di livello internazionale per l'hosting di macchine virtuali che eseguono Windows o Linux.Azure is a world-class cloud for hosting virtual machines running Windows or Linux. Se si usa ASP.NET, Java, Node.js o PHP per sviluppare applicazioni, sarà necessaria una pipeline di integrazione continua e distribuzione continua (CI/CD) per eseguire automaticamente il push delle modifiche a queste macchine virtuali.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 offre la pipeline di integrazione continua/recapito continuo, a partire da un repository Git per la gestione del codice sorgente dell'applicazione e del codice dell'infrastruttura (modelli ARM), un sistema di compilazione per la produzione di pacchetti e altri artefatti di compilazione e un sistema Release Management per la configurazione di una pipeline per la distribuzione delle modifiche tramite gli ambienti di sviluppo, test e produzione.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. La pipeline usa i modelli ARM per eseguire il provisioning o aggiornare l'infrastruttura in base alle esigenze in ogni ambiente, quindi distribuisce la compilazione aggiornata.The pipeline uses ARM templates to provision or update your infrastructure as necessary in each environment, and then deploys the updated build. È anche possibile usare Azure DevTest Labs per rimuovere automaticamente le risorse di test non in uso.You can also use Azure DevTest Labs to automatically tear down test resources that are not in use.

ArchitectureArchitecture

Diagramma dell'architettura scaricare un SVG di questa architettura.Architecture diagram Download an SVG of this architecture.

Flusso di datiData Flow

  1. Modificare il codice sorgente dell'applicazioneChange application source code
  2. Esegui commit del codice dell'applicazione e del modello di Azure Resource Manager (ARM)Commit Application Code and Azure Resource Manager (ARM) Template
  3. L'integrazione continua attiva la compilazione dell'applicazione e gli unit testContinuous integration triggers application build and unit tests
  4. Il trigger di distribuzione continua orchestra la distribuzione di artefatti dell'applicazione con parametri specifici dell'ambienteContinuous deployment trigger orchestrates deployment of application artifacts with environment-specific parameters
  5. Distribuzione nell'ambiente di controllo di qualitàDeployment to QA environment
  6. Distribuzione nell'ambiente di gestione temporaneaDeployment to staging environment
  7. Distribuzione nell'ambiente di produzioneDeployment to production environment
  8. Application Insights raccoglie e analizza i dati relativi a integrità, prestazioni e utilizzoApplication Insights collects and analyses health, performance, and usage data
  9. Esaminare le informazioni sull'integrità, sulle prestazioni e sull'utilizzoReview health, performance and usage information
  10. Aggiorna elemento backlogUpdate backlog item

ComponentiComponents

  • Macchine virtuali: effettuare il provisioning di macchine virtuali Windows e Linux in pochi secondiVirtual Machines: Provision Windows and Linux virtual machines in seconds
  • Azure DevTest Labs: creare rapidamente ambienti utilizzando modelli ed elementi riutilizzabiliAzure DevTest Labs: Quickly create environments using reusable templates and artifacts
  • Application Insights: rilevare, valutare e diagnosticare i problemi nelle app e nei servizi Web.Application Insights: Detect, triage, and diagnose issues in your web apps and services.
  • Azure DevOps: creare e distribuire app multipiattaforma per ottenere il massimo dai servizi di AzureAzure DevOps: Build and deploy multi-platform apps to get the most from Azure services

Passaggi successiviNext steps