CI/CD für Azure-VMsCI/CD for Azure VMs

Lösungsidee Solution Idea

Wenn Sie möchten, dass wir diesen Artikel durch weitere Informationen, Implementierungsdetails, Preisinformationen oder Codebeispiele ergänzen, kontaktieren Sie uns über GitHub-Feedback.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 ist eine erstklassige Cloud zum Hosten von virtuellen Computern, auf denen Windows oder Linux ausgeführt wird.Azure is a world-class cloud for hosting virtual machines running Windows or Linux. Unabhängig davon, ob Sie ASP.NET, Java, Node.js oder PHP zum Entwickeln von Anwendungen verwenden, benötigen Sie eine CI/CD-Pipeline (Continuous Integration/Continuous Deployment), um Änderungen automatisch auf diese virtuellen Computer zu pushen.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 bietet die CI/CD-Pipeline mit einem Git-Repository zum Verwalten des Anwendungsquellcodes und des Infrastrukturcodes (ARM-Vorlagen), einem Buildsystem zum Erstellen von Paketen und anderen Buildartefakten und einem Release Management-System zum Einrichten einer Pipeline, über die Sie Ihre Änderungen in Entwicklungs-, Test- und Produktionsumgebungen bereitstellen können.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. Die Pipeline stellt Ihre Infrastruktur je nach Bedarf in den einzelnen Umgebungen über ARM-Vorlagen bereit oder aktualisiert sie. Anschließend wird der aktualisierte Build bereitgestellt.The pipeline uses ARM templates to provision or update your infrastructure as necessary in each environment, and then deploys the updated build. Sie können auch Azure DevTest Labs verwenden, um nicht verwendete Testressourcen automatisch zu entfernen.You can also use Azure DevTest Labs to automatically tear down test resources that are not in use.

AufbauArchitecture

Architekturdiagramm Laden Sie eine SVG-Datei für diese Architektur herunter.Architecture diagram Download an SVG of this architecture.

DatenflussData Flow

  1. Der Quellcode der Anwendung wird geändert.Change application source code
  2. Anwendungscodecommit und Azure Resource Manager-Vorlage (ARM)Commit Application Code and Azure Resource Manager (ARM) Template
  3. Continuous Integration löst den Anwendungsbuildvorgang und Komponententests aus.Continuous integration triggers application build and unit tests
  4. Der Continuous Deployment-Trigger orchestriert die Bereitstellung von Anwendungsartefakten mit umgebungsspezifischen Parametern.Continuous deployment trigger orchestrates deployment of application artifacts with environment-specific parameters
  5. Bereitstellung in der QA-UmgebungDeployment to QA environment
  6. Bereitstellung in der StagingumgebungDeployment to staging environment
  7. Bereitstellung in der ProduktionsumgebungDeployment to production environment
  8. Application Insights sammelt und analysiert Integritäts-, Leistungs- und Nutzungsdaten.Application Insights collects and analyses health, performance, and usage data
  9. Lesen Sie die Informationen zu Integrität, Leistung und Nutzung.Review health, performance and usage information
  10. Aktualisieren Sie das Backlog Item.Update backlog item

KomponentenComponents

  • Virtuelle Computer: Sekundenschnelles Bereitstellen von Windows- und Linux-VMsVirtual Machines: Provision Windows and Linux virtual machines in seconds
  • Azure DevTest Labs: Umgebungen mithilfe von wiederverwendbaren Vorlagen und Artefakten schnell erstellenAzure DevTest Labs: Quickly create environments using reusable templates and artifacts
  • Application Insights: Ermitteln, selektieren und diagnostizieren Sie Probleme in Ihren Web-Apps und -diensten.Application Insights: Detect, triage, and diagnose issues in your web apps and services.
  • Azure DevOps: Erstellen und Bereitstellen von Apps für mehrere Plattformen, um Azure-Dienste optimal zu nutzenAzure DevOps: Build and deploy multi-platform apps to get the most from Azure services

Nächste SchritteNext steps