Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
DevOps é uma metodologia de desenvolvimento de software que integra desenvolvimento de software (Dev) com operações de sistema (Ops). O sistema ajuda você a fornecer novos recursos, atualizações e correções de software que se alinham com os objetivos de negócios.
A metodologia DevOps também abrange:
- Projetar novos recursos com base em metas, padrões de uso e feedback dos clientes.
- Corrigir, recuperar e proteger o sistema quando ocorrem problemas.
Um componente da metodologia DevOps é o pipeline de integração contínua (CI) e entrega contínua (CD). Um pipeline de CI/CD move informações, código e recursos de um commit de controlo de versão por meio de uma série de etapas para gerar o sistema. As etapas incluem compilação, teste e lançamento.
Você pode usar o Azure DevTest Labs em pipelines de CI/CD. Este artigo discute o uso do DevTest Labs em pipelines de compilação, teste e lançamento de CI/CD em um ambiente corporativo.
Benefícios do uso do DevTest Labs em fluxos de trabalho de DevOps
Um laboratório deve ser usado apenas por uma equipe que esteja a trabalhar numa área de funcionalidade. Esse foco permite mudanças mais rápidas, mas limita quaisquer efeitos negativos a um grupo menor. Mudanças ou problemas acontecem no ambiente de laboratório, sem afetar mais nada.
Esse foco também permite o compartilhamento de recursos específicos da área, como ferramentas, scripts e modelos do Azure Resource Manager (ARM). Os desenvolvedores podem usar recursos compartilhados para criar máquinas virtuais (VMs) com todo o código, ferramentas e configuração de que precisam. Os modelos ARM criam VMs de laboratório e ambientes de laboratório com os recursos apropriados do Azure. Os modelos criam recursos de forma dinâmica ou criam imagens base personalizadas.
Por exemplo, considere um cenário em que o produto é um sistema autônomo que é instalado na máquina de um cliente. Para habilitar o teste rápido de código de loop interno, o DevTest Labs pode criar VMs de laboratório que tenham software, artefatos e configurações do cliente instalados.
Aqui estão alguns benefícios de usar laboratórios em fluxos de trabalho de DevOps:
Usar um laboratório como componente associa um ecossistema específico a pessoas limitadas. Normalmente, uma equipe ou grupo que trabalha em uma área comum ou um recurso específico tem um laboratório atribuído a eles. Usually, a team or group working in a common area or a specific feature has a lab assigned to them.
Replicação de infraestrutura na nuvem. Um desenvolvedor pode configurar rapidamente um ecossistema de desenvolvimento que inclui uma VM de desenvolvedor com código-fonte e ferramentas. Para permitir um desenvolvimento de loop interno mais rápido, um desenvolvedor também pode criar um ambiente quase idêntico à configuração de produção.
Para habilitar o teste assíncrono, um laboratório no pipeline de CI/CD pode executar vários ambientes ou máquinas de pré-produção diferentes ao mesmo tempo. Você pode implantar e gerenciar diferentes infraestruturas de suporte e criar agentes em um laboratório. You can deploy and manage different support infrastructures and build agents in a lab.
Usar laboratórios em pipelines de CI/CD
O pipeline de CI/CD é um componente crítico do DevOps. O pipeline integra o código da solicitação pull de um desenvolvedor com o código existente e implanta o código no ecossistema de produção. Para a integração do DevTest Labs, nem todos os recursos precisam estar em um laboratório. Por exemplo, você pode configurar um host Jenkins fora do laboratório para um recurso mais persistente. Aqui estão alguns exemplos específicos de integração de laboratórios no pipeline do CI/CD.
Build
O pipeline de build cria um pacote de componentes para serem testados em conjunto e preparar para implantação. A construção dinâmica da infraestrutura permite um maior controlo. Os laboratórios podem fazer parte do pipeline de compilação como locais para agentes de compilação e outros recursos de suporte. O DevTest Labs pode restringir o acesso ao laboratório. Isso aumenta a segurança dos agentes de construção e reduz a possibilidade de corrupção acidental.
Como você pode ter vários ambientes em um laboratório, cada compilação pode ser executada de forma assíncrona. O ID de compilação é parte das informações de ambiente que identificam exclusivamente os recursos em uma compilação específica.
Test
Um pipeline de CI/CD pode automatizar a criação de recursos do DevTest Labs, como VMs e ambientes para testes automatizados e manuais. O pipeline usa artefatos ou fórmulas de informações de compilação para criar VMs que têm diferentes configurações de teste personalizadas.
Release
O processo de liberação pode usar o DevTest Labs para verificação antes que o código seja implantado. O processo é semelhante ao teste. Os recursos de produção não devem ser implantados no DevTest Labs.
Customization
O Azure Pipelines, um componente dos Serviços de DevOps do Azure, fornece tarefas existentes para manipular VMs e ambientes em laboratórios específicos. O Azure Pipelines é uma maneira de gerenciar o pipeline de CI/CD. Você pode integrar um laboratório em qualquer sistema que ofereça suporte à chamada de APIs REST, à execução de scripts do PowerShell ou ao uso da CLI do Azure.
Alguns gerenciadores de pipeline de CI/CD têm plug-ins de código aberto existentes que podem gerenciar recursos do Azure e do DevTest Labs. Talvez seja necessário usar scripts personalizados para atender às necessidades do pipeline. Ao executar uma tarefa, use uma entidade de serviço com a função apropriada, geralmente Colaborador, para acessar o laboratório.