Arquitetura dos Pipelines do Azure com o DevTest Labs
Importante
A CI/CD com o DevTest Labs é uma variante de Estruturar um pipeline CI/CD com o Azure DevOps. Este artigo centra-se nas especificidades da implementação num ambiente de teste do DevTest Labs.
O DevTest Labs permite-lhe aprovisionar ambientes Windows e Linux através de modelos e artefactos reutilizáveis. Estes ambientes podem ser úteis para programadores, mas também podem ser utilizados em pipelines de CI/CD para aprovisionar ambientes de teste. Veja Azure DevTest Labs cenários para ver se o DevTest Labs é uma boa opção para o seu cenário.
Este artigo descreve um fluxo de trabalho de alto nível do DevOps para implementar alterações de aplicações com práticas de integração contínua (CI) e implementação contínua (CD) com os Pipelines do Azure. É utilizado um ambiente de DevTest Labs para o ambiente de teste.
Arquitetura
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de dados
Esta secção pressupõe que leu a arquitetura de linha de base dos Pipelines do Azure e foca-se apenas nas especificidades da implementação de uma carga de trabalho para Azure DevTest Labs para teste.
Pipeline - de PRO mesmo que a linha de base
Pipeline - de CIO mesmo que a linha de base
Acionador - de pipeline de CDO mesmo que a linha de base
CD create DevTest Labs staging environment -This step creates the DevTest Labs environment which act as the staging environment. O passo inclui:
- Criar Azure DevTest Labs ambiente numa subscrição de teste.
- Implemente um modelo do ARM no ambiente do DevTest Labs. As imagens da Máquina Virtual podem ser armazenadas numa galeria de imagens partilhadas.
- Execute quaisquer passos pós-implementação para configurar corretamente o ambiente de teste.
Versão de CD para teste – igual à linha de base com uma exceção. O ambiente de teste é um ambiente de DevTest Labs.
Lançamento de CD para produção - O mesmo que a linha de base
Monitorização - igual à linha de base
Componentes
Esta secção pressupõe que leu a secção componentes de arquitetura de linha de base do Azure Pipelines e foca-se apenas nas especificidades da implementação de uma carga de trabalho para Azure DevTest Labs para teste.
- Azure DevTest Labs é um serviço para criar, utilizar e gerir ambientes utilizados para fins de desenvolvimento, teste e implementação. O serviço permite-lhe implementar facilmente ambientes pré-configurados de forma económica.
Alternativas
Uma alternativa à criação do ambiente de teste de DevTest Labs como parte do processo de CD, pode pré-criar o ambiente fora do pipeline. Isto terá o benefício positivo de acelerar o pipeline. Esta alternativa irá parar a capacidade de remover o ambiente após a conclusão do pipeline, aumentando o custo.
Em situações em que o Construtor de Imagens da VM e um Shared Image Gallery não funcionam, pode configurar uma fábrica de imagens para criar imagens de VM a partir do pipeline ci/CD e distribuí-las automaticamente para qualquer Azure DevTest Labs registada nessas imagens. Para obter mais informações, veja Executar uma fábrica de imagens a partir do Azure DevOps.
Ambientes adicionais, além do teste, podem ser criados e implementados como parte do pipeline de CD. Estes ambientes podem suportar atividades como testes de desempenho e testes de aceitação do utilizador.
Considerações
Esta secção pressupõe que leu a secção de considerações na arquitetura de linha de base dos Pipelines do Azure e foca-se apenas nas especificidades da implementação de uma carga de trabalho para Azure DevTest Labs para teste.
Otimização de Custos
- Considerar a utilização de políticas e procedimentos de Azure DevTest Labs para controlar os custos
Excelência Operacional
- Considere implementar ambientes para além do teste e da produção para permitir coisas como reversões, testes de aceitação manual e testes de desempenho. O ato de utilizar o teste como o ambiente de reversão impede-o de utilizar esse ambiente para outros fins.