CI/CD para VMs do Azure

Application Insights
Azure DevOps
DevTest Labs
Azure Resource Manager
Máquinas Virtuais

Ideia de solução Solution Idea

Se quiser ver-nos expandir este artigo com mais informações, detalhes de implementação, orientação de preços ou exemplos de código, informe-nos com o Feedback do 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 é uma nuvem de classe mundial para hospedar máquinas virtuais que executam Windows ou Linux.Azure is a world-class cloud for hosting virtual machines running Windows or Linux. Quer utilize ASP.NET, Java, Node.js ou PHP para desenvolver aplicações, necessitará de um pipeline de integração contínua e implementação contínua (CI/CD) para empurrar automaticamente as alterações a estas máquinas virtuais.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.

A Azure DevOps fornece o oleoduto CI/CD, começando com um repositório Git para gerir o código fonte de aplicação e código de infraestrutura (modelos ARM), um sistema de construção para a produção de pacotes e outros artefactos de construção, e um sistema de Gestão de Lançamento para a criação de um oleoduto para implantar as suas alterações através de ambientes dev, teste e produção.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. O pipeline utiliza modelos ARM para provisões ou atualização da sua infraestrutura, conforme necessário em cada ambiente, e, em seguida, implanta a construção atualizada.The pipeline uses ARM templates to provision or update your infrastructure as necessary in each environment, and then deploys the updated build. Também pode utilizar a Azure DevTest Labs para demolir automaticamente os recursos de teste que não estão a ser utilizados.You can also use Azure DevTest Labs to automatically tear down test resources that are not in use.

ArquiteturaArchitecture

Diagrama de arquitetura Descarregue um SVG desta arquitetura.Architecture diagram Download an SVG of this architecture.

Fluxo de DadosData Flow

  1. Alterar código fonte de aplicaçãoChange application source code
  2. Cometer código de aplicação e modelo de gestor de recursos Azure (ARM)Commit Application Code and Azure Resource Manager (ARM) Template
  3. Integração contínua desencadeia testes de construção de aplicações e unidadesContinuous integration triggers application build and unit tests
  4. O gatilho de implantação contínua orquestra a implantação de artefactos de aplicação com parâmetros específicos do ambienteContinuous deployment trigger orchestrates deployment of application artifacts with environment-specific parameters
  5. Implantação para o ambiente QADeployment to QA environment
  6. Implantação para o ambiente de encenaçãoDeployment to staging environment
  7. Implantação para ambiente de produçãoDeployment to production environment
  8. Application Insights recolhe e analisa dados de saúde, desempenho e utilizaçãoApplication Insights collects and analyses health, performance, and usage data
  9. Rever informações de saúde, desempenho e utilizaçãoReview health, performance and usage information
  10. Atualizar item de atrasoUpdate backlog item

ComponentesComponents

  • Máquinas Virtuais: Provisão de janelas e máquinas virtuais Linux em segundosVirtual Machines: Provision Windows and Linux virtual machines in seconds
  • Azure DevTest Labs: Crie rapidamente ambientes usando modelos e artefactos reutilizáveisAzure DevTest Labs: Quickly create environments using reusable templates and artifacts
  • Aplicações Insights: Detetar, triagem e diagnosticar problemas nas suas aplicações e serviços web.Application Insights: Detect, triage, and diagnose issues in your web apps and services.
  • Azure DevOps: Construa e implemente aplicações multiplataformas para tirar o máximo partido dos serviços da AzureAzure DevOps: Build and deploy multi-platform apps to get the most from Azure services

Passos seguintesNext steps