Ciągła integracja/ciągłe wdrażanie dla maszyn wirtualnych platformy Azure

Application Insights
Azure DevOps
DevTest Labs
Azure Resource Manager
Virtual Machines

Pomysł rozwiązania Solution Idea

Jeśli chcesz się dowiedzieć, Rozszerz ten artykuł, aby uzyskać więcej informacji, szczegóły dotyczące implementacji, wskazówki dotyczące cen lub przykłady kodu, powiadom nas o opinii usługi 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 to światowej klasy chmura służąca do hostowania maszyn wirtualnych z systemem Windows lub Linux.Azure is a world-class cloud for hosting virtual machines running Windows or Linux. Bez względu na to, czy używasz ASP.NET, Java, Node.js czy PHP do tworzenia aplikacji, będziesz potrzebować potoku ciągłej integracji i ciągłego wdrażania (CI/CD) w celu automatycznego wypychania zmian do tych maszyn wirtualnych.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.

Usługa Azure DevOps udostępnia potok ciągłej integracji/ciągłego wdrażania, rozpoczynając od repozytorium git do zarządzania kodem źródłowym aplikacji i kodem infrastruktury (szablony ARM), system kompilacji służący do tworzenia pakietów i innych artefaktów kompilacji oraz system Release Management na potrzeby konfigurowania potoku w celu wdrożenia zmian za pomocą środowiska deweloperskiego, testowego i produkcyjnego.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. Potok używa szablonów ARM do aprowizacji lub aktualizowania infrastruktury w zależności od potrzeb w każdym środowisku, a następnie wdraża zaktualizowaną kompilację.The pipeline uses ARM templates to provision or update your infrastructure as necessary in each environment, and then deploys the updated build. Za pomocą Azure DevTest Labs można również automatycznie dzielić zasoby testowe, które nie są używane.You can also use Azure DevTest Labs to automatically tear down test resources that are not in use.

ArchitekturaArchitecture

Diagram architektury Pobiera plik SVG z tej architektury.Architecture diagram Download an SVG of this architecture.

Przepływ danychData Flow

  1. Zmień kod źródłowy aplikacjiChange application source code
  2. Zatwierdź kod aplikacji i szablon Azure Resource Manager (ARM)Commit Application Code and Azure Resource Manager (ARM) Template
  3. Ciągła integracja wyzwala kompilację aplikacji i testy jednostkoweContinuous integration triggers application build and unit tests
  4. Wyzwalacz ciągłego wdrażania organizuje wdrażanie artefaktów aplikacji z parametrami specyficznymi dla środowiskaContinuous deployment trigger orchestrates deployment of application artifacts with environment-specific parameters
  5. Wdrożenie w środowisku pytania i odpowiedziDeployment to QA environment
  6. Wdrażanie w środowisku przejściowymDeployment to staging environment
  7. Wdrażanie w środowisku produkcyjnymDeployment to production environment
  8. Application Insights zbiera i analizuje dane dotyczące kondycji, wydajności i użyciaApplication Insights collects and analyses health, performance, and usage data
  9. Przejrzyj informacje dotyczące kondycji, wydajności i użyciaReview health, performance and usage information
  10. Aktualizowanie elementu zaległościUpdate backlog item

SkładnikiComponents

  • Virtual Machines: Udostępnianie maszyn wirtualnych z systemami Windows i Linux w ciągu kilku sekundVirtual Machines: Provision Windows and Linux virtual machines in seconds
  • Azure DevTest Labs: szybkie tworzenie środowisk przy użyciu szablonów i artefaktów wielokrotnego użytkuAzure DevTest Labs: Quickly create environments using reusable templates and artifacts
  • Application Insights: wykrywanie, klasyfikacja i diagnozowanie problemów z aplikacjami i usługami sieci Web.Application Insights: Detect, triage, and diagnose issues in your web apps and services.
  • Azure DevOps: Kompiluj i wdrażaj aplikacje dla wielu platform, aby maksymalnie wykorzystać możliwości usług platformy AzureAzure DevOps: Build and deploy multi-platform apps to get the most from Azure services

Następne krokiNext steps