Arquitetura do Azure Pipelines com o DevTest Labs

Importante

A CI/CD com DevTest Labs é uma variante do design de um pipeline de CI/CD usando o Azure DevOps. Este artigo se concentra nas especificidades da implantação em ambientes de preparo do DevTest Labs.

O DevTest Labs permite provisionar ambientes Windows e Linux usando modelos e artefatos reutilizáveis. Esses ambientes podem ser úteis para desenvolvedores, mas também podem ser usados em pipelines de CI/CD para provisionar ambientes de preparo. Confira cenários do Azure DevTest Labs para ver se os laboratórios de DevTest são adequados para seu cenário.

Este artigo descreve um fluxo de trabalho de DevOps de alto nível para implantar alterações de aplicativo usando práticas de CI (integração contínua) e CD (implantação contínua) usando o Azure Pipelines. Um ambiente do DevTest Labs é usado para o ambiente de preparo.

Arquitetura

Diagrama de arquitetura de um pipeline de CI/CD usando o Azure Pipelines que usa o Azure DevTest Labs para um ambiente de preparo.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

Esta seção pressupõe que você leu a arquitetura de linha de base do Azure Pipelines e se concentra apenas nas especificidades da implantação de uma carga de trabalho para o Azure DevTest Labs para preparo.

  1. Pipeline de PR - O mesmo que a linha de base

  2. Pipeline de CO - O mesmo que a linha de base

  3. Gatilho de pipeline de CD - O mesmo que a linha de base

  4. Ambiente de preparo do DevTest Labs de criação de CD – essa etapa cria o ambiente do DevTest Labs que atua como o ambiente de preparo. A etapa inclui:

    • Criar o ambiente do Azure DevTest Labs em uma assinatura de preparo.
    • Implantar um modelo do ARM no ambiente do DevTest Labs. As imagens da Máquina Virtual podem ser armazenadas em uma galeria de imagens compartilhadas.
    • Executar todas as etapas de pós-implantação para configurar corretamente o ambiente de preparo.
  5. Versão de CD para preparo – igual à linha de base com uma exceção. O ambiente de preparo é um ambiente do DevTest Labs.

  6. Lançamento de CD em produção - O mesmo que a linha de base

  7. Monitoramento - o mesmo que a linha de base

Componentes

Esta seção pressupõe que você leu a seção de componentes de arquitetura de linha de base do Azure Pipelines e se concentra apenas nas especificidades da implantação de uma carga de trabalho para o Azure DevTest Labs para preparo.

  • O Azure DevTest Labs é um serviço para criar, usar e gerenciar ambientes usados para fins de desenvolvimento, teste e implantação. O serviço permite implantar facilmente ambientes pré-configurados de maneira econômica.

Alternativas

  • Uma alternativa para criar o ambiente de preparo do DevTest Labs como parte do processo de CD, você pode criar previamente o ambiente fora do pipeline. Isso terá o benefício positivo de acelerar o pipeline. Essa alternativa interromperá a capacidade de derrubar o ambiente após a conclusão do pipeline, aumentando o custo.

  • Em situações em que o Construtor de Imagens de VM e uma Galeria de Imagens Compartilhadas não funciona, você pode configurar uma fábrica de imagens para criar imagens de VM do pipeline de CI/CD e distribuí-las automaticamente para qualquer Azure DevTest Labs registrado nessas imagens. Para mais informações, confira Executar uma fábrica de imagens do Azure DevOps.

  • Ambientes adicionais, além do preparo, podem ser criados e implantados como parte do pipeline de CD. Esses ambientes podem dar suporte a atividades como teste de desempenho e teste de aceitação do usuário.

Considerações

Esta seção pressupõe que você leu a seção de considerações na arquitetura de linha de base do Azure Pipelines e se concentra apenas nas especificidades da implantação de uma carga de trabalho para o Azure DevTest Labs para preparo.

Otimização de custos

Excelência operacional

  • Considere implementar ambientes além de apenas preparo e produção para habilitar itens como reversões, testes de aceitação manuais e testes de desempenho. O ato de usar o preparo como ambiente de reversão impede que você possa usar esse ambiente para outras finalidades.

Próximas etapas