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 Terraform habilita a definição, a visualização e a implantação da infraestrutura de nuvem. Usando o Terraform, você cria arquivos de configuração usando a sintaxe HCL. A sintaxe da HCL permite que você especifique o provedor de nuvem, como o Azure, e os elementos que compõem sua infraestrutura de nuvem. Depois de criar seus arquivos de configuração, você cria um plano de execução que permite visualizar as alterações de infraestrutura antes que elas sejam implantadas. Depois de verificar as alterações, aplique o plano de execução para implantar a infraestrutura.
O Terraform é uma ferramenta IaC (Infraestrutura como Código). Essa categoria de ferramenta refere-se ao fato de que você trata os arquivos do Terraform como faria com o código-fonte do projeto. Parte desse processo inclui controle de versão e código-fonte. Além disso, o teste também deve fazer parte do seu processo. Este artigo fornece uma visão geral dos diferentes tipos de testes que podem ser executados em um projeto do Terraform.
Implementar testes de integração
Os testes de integração validam que uma alteração de código recém-introduzida não interrompe o código existente. No DevOps, a CI (integração contínua) refere-se a um processo que cria todo o sistema sempre que a base de código é alterada , como alguém que deseja mesclar uma PR em um repositório Git. A lista a seguir contém exemplos comuns de testes de integração:
- Ferramentas de análise de código estático, como lint e formato.
- Execute terraform validate para verificar a sintaxe do arquivo de configuração.
- Execute o comando terraform plan para garantir que a configuração funcione conforme o esperado.
Implementar testes de unidade
Os testes de unidade garantem que uma parte ou função específica de um programa se comporte corretamente. Os testes de unidade são escritos pelo desenvolvedor da funcionalidade. Às vezes, chamado de desenvolvimento controlado por teste ou TDD, esse tipo de teste envolve ciclos de desenvolvimento curtos contínuos. No contexto de projetos do Terraform, o teste de unidade pode assumir a forma de uso terraform plan para garantir que os valores reais disponíveis no plano gerado sejam iguais aos valores esperados.
O teste de unidade pode ser especialmente benéfico quando os módulos do Terraform começam a se tornar mais complexos:
- Gerar blocos dinâmicos
- Usar loops
- Calcular variáveis locais
Assim como acontece com os testes de integração, muitas vezes os testes de unidade são incluídos no processo de integração contínua.
Implementar o teste de conformidade
O teste de conformidade é usado para garantir que a configuração siga as políticas definidas para o projeto. Por exemplo, você pode definir convenções de nomenclatura geopolítica para seus recursos do Azure. Ou talvez você queira que as máquinas virtuais sejam criadas a partir de um subconjunto definido de imagens. O teste de conformidade seria usado para impor essas regras.
O teste de conformidade também normalmente é definido como parte do processo de integração contínua.
Implementar testes de ponta a ponta (E2E)
Os testes E2E validam que um programa funciona antes de implantar em produção. Um cenário de exemplo pode ser um módulo Terraform implantando duas máquinas virtuais em uma rede virtual. Talvez você queira impedir que as duas máquinas executem ping umas nas outras. Neste exemplo, você pode definir um teste para verificar o resultado pretendido antes da implantação.
O teste E2E normalmente é um processo de três etapas. Primeiro, a configuração é aplicada a um ambiente de teste. Em seguida, o código seria executado para verificar os resultados. Por fim, o ambiente de teste é reinicializado ou retirado (como desalocar uma máquina virtual).