Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O DevOps é uma metodologia de desenvolvimento de software que integra o desenvolvimento de software (Dev) com operações de sistema (Ops). O sistema ajuda você a fornecer novos recursos de software, atualizações e correções que se alinham às metas de negócios.
A metodologia de DevOps também aborda:
- Criando novos recursos com base em metas, padrões de uso e comentários do cliente.
- Correção, recuperação e proteção do sistema quando ocorrem problemas.
Um componente da metodologia de DevOps é o pipeline de integração contínua (CI) e entrega contínua (CD). Um pipeline de CI/CD move informações, códigos e recursos de uma confirmação do controle do código-fonte por uma série de etapas para produzir o sistema. As etapas incluem build, teste e versão.
Você pode usar o Azure DevTest Labs em pipelines de CI/CD. Este artigo discute o uso do DevTest Labs em pipelines de build, teste e lançamento de CI/CD em um ambiente empresarial.
Benefícios de usar o DevTest Labs em fluxos de trabalho do DevOps
Um laboratório deve ser usado apenas por uma equipe que está trabalhando em uma área de funcionalidades. Esse foco permite alterações mais rápidas, mas limita quaisquer efeitos negativos a um grupo menor. Alterações ou problemas ocorrem 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 ARM (Azure Resource Manager). Os desenvolvedores podem usar recursos compartilhados para criar VMs (máquinas virtuais) com todo o código, ferramentas e configuração de que precisam. Os modelos do ARM criam VMs de laboratório e ambientes de laboratório com os recursos apropriados do Azure. Os modelos criam recursos dinamicamente ou por meio de imagens base com personalizações.
Por exemplo, considere um cenário no qual o produto é um sistema autônomo instalado no computador de um cliente. Para habilitar testes rápidos de código de loop interno, o DevTest Labs pode criar VMs de laboratório com software, artefatos e configurações do cliente instalados.
Aqui estão alguns benefícios do uso de laboratórios em fluxos de trabalho do 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 habilitar o 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 testes assíncronos, um laboratório no pipeline de CI/CD pode executar vários ambientes ou computadores 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 de DevOps crítico. O pipeline integra o código da solicitação pull de um desenvolvedor ao 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. Estes são alguns exemplos específicos de como integrar laboratórios no pipeline de CI/CD.
Build
O pipeline de build cria um pacote de componentes para teste em conjunto e entregar para lançamento. Criar infraestrutura dinamicamente permite maior controle. Os laboratórios podem fazer parte do pipeline de build como locais para os agentes de build e outros recursos de suporte. O DevTest Labs pode restringir o acesso ao laboratório. Fazer isso aumenta a segurança dos agentes de build e reduz a possibilidade de corrupção acidental.
Como você pode ter vários ambientes em um laboratório, cada build pode ser executado de forma assíncrona. A ID de build faz parte das informações de ambiente que identificam exclusivamente os recursos em um build específico.
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 build para criar VMs com diferentes configurações de teste personalizadas.
Release
O processo de versã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 do Azure DevOps Services, 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 a qualquer sistema que dê suporte à chamada de APIs REST, à execução de scripts do PowerShell ou ao uso da CLI do Azure.
Alguns gerentes de pipeline de CI/CD têm plug-ins de software livre 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.