CI/CD pro virtuální počítače Azure

Application Insights
Azure DevOps
DevTest Labs
Azure Resource Manager
Virtual Machines

Nápad řešení Solution Idea

Pokud se chcete podívat, jak nás rozšířit tento článek o další informace, podrobnosti implementace, doprovodné materiály nebo příklady kódu, dejte nám vědět s názory na GitHubu.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 je Špičková cloudová platforma pro hostování virtuálních počítačů se systémem Windows nebo Linux.Azure is a world-class cloud for hosting virtual machines running Windows or Linux. Ať už k vývoji aplikací používáte ASP.NET, Java, Node.js nebo PHP, budete potřebovat kanál průběžné integrace a nasazování (CI/CD), který automaticky doručí změny těchto virtuálních počítačů.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 poskytuje kanál CI/CD, počínaje úložištěm Git pro správu zdrojového kódu aplikace a kódu infrastruktury (šablony ARM), systém sestavení pro vytváření balíčků a dalších artefaktů sestavení a Release Management systém pro nastavení kanálu pro nasazení změn pomocí vývojových, testovacích a produkčních prostředí.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. Kanál používá šablony ARM ke zřízení nebo aktualizaci vaší infrastruktury podle potřeby v každém prostředí a pak nasadí aktualizované sestavení.The pipeline uses ARM templates to provision or update your infrastructure as necessary in each environment, and then deploys the updated build. K automatickému vynechání testovacích prostředků, které se nepoužívají, můžete také použít Azure DevTest Labs.You can also use Azure DevTest Labs to automatically tear down test resources that are not in use.

ArchitekturaArchitecture

Diagram architektury Stáhnout SVG této architektury.Architecture diagram Download an SVG of this architecture.

Data FlowData Flow

  1. Změnit zdrojový kód aplikaceChange application source code
  2. Potvrdit šablonu kódu aplikace a Azure Resource Manager (ARM)Commit Application Code and Azure Resource Manager (ARM) Template
  3. Průběžná integrace aktivuje sestavení aplikace a testy jednotek.Continuous integration triggers application build and unit tests
  4. Trigger průběžného nasazování orchestruje nasazení artefaktů aplikace s parametry pro konkrétní prostředí.Continuous deployment trigger orchestrates deployment of application artifacts with environment-specific parameters
  5. Nasazení do prostředí QADeployment to QA environment
  6. Nasazení do přípravného prostředíDeployment to staging environment
  7. Nasazení do produkčního prostředíDeployment to production environment
  8. Application Insights shromažďuje a analyzuje data o stavu, výkonu a využití.Application Insights collects and analyses health, performance, and usage data
  9. Kontrola informací o stavu, výkonu a využitíReview health, performance and usage information
  10. Aktualizace položky backloguUpdate backlog item

KomponentyComponents

  • Virtual Machines: zřizování virtuálních počítačů s Windows a Linux v řádu sekundVirtual Machines: Provision Windows and Linux virtual machines in seconds
  • Azure DevTest Labs: rychlé vytváření prostředí pomocí opakovaně použitelných šablon a artefaktůAzure DevTest Labs: Quickly create environments using reusable templates and artifacts
  • Application Insights: zjišťování, třídění a Diagnostika problémů ve webových aplikacích a službách.Application Insights: Detect, triage, and diagnose issues in your web apps and services.
  • Azure DevOps: sestavování a nasazování aplikací pro více platforem, abyste získali maximum ze služeb AzureAzure DevOps: Build and deploy multi-platform apps to get the most from Azure services

Další krokyNext steps