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.
Terraform permite a definição, visualização e implantação de infraestrutura em nuvem. Usando Terraform, você cria arquivos de configuração usando a sintaxe HCL. A sintaxe HCL permite especificar o provedor de nuvem - como o Azure - e os elementos que compõem sua infraestrutura de nuvem. Depois de criar os arquivos de configuração, você cria um plano de execução que permite visualizar as alterações na infraestrutura antes que elas sejam implantadas. Depois de verificar as alterações, você aplica o plano de execução para implantar a infraestrutura.
Terraform é uma ferramenta de Infraestrutura como Código (IaC). Esta categoria de ferramenta refere-se ao fato de que você trata seus arquivos Terraform como faria com o código-fonte do projeto. Parte desse processo inclui controle de versão e controle do código-fonte. Além disso, os testes devem fazer parte do teu processo. Este artigo apresenta uma visão geral dos diferentes tipos de testes que pode executar num projeto Terraform.
Implementar testes de integração
Os testes de integração validam que uma alteração de código recém-introduzida não quebra o código existente. Em DevOps, integração contínua (CI) refere-se a um processo que constrói todo o sistema sempre que a base de código muda – como quando alguém quer fundir um PR num 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 ferramentas de formatação.
- Execute terraform validate para verificar a sintaxe do arquivo de configuração.
- Executa o Terraform Plan para garantir que a configuração funciona como esperado.
Implementar testes de unidade
Os testes unitários garantem que uma parte ou função específica de um programa se comporta corretamente. O programador da funcionalidade escreve testes unitários. Às vezes chamado de desenvolvimento orientado a testes, ou TDD, esse tipo de teste envolve ciclos de desenvolvimento curtos contínuos. No contexto dos projetos 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 seus módulos Terraform começam a se tornar mais complexos:
- Gerar blocos dinâmicos
- Utilizar ciclos
- Calcular variáveis locais
Tal 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 testes de conformidade
Use testes de conformidade para garantir que a configuração segue as políticas que define 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. Utilize os testes de conformidade para fazer cumprir estas regras.
Normalmente, define-se o teste de conformidade como parte do processo de integração contínua.
Implementar testes de ponta a ponta (E2E)
Os testes E2E validam o funcionamento de um programa antes da implantação na produção. Um cenário de exemplo pode ser um módulo Terraform implantando duas máquinas virtuais em uma rede virtual. Você pode querer evitar que as duas máquinas façam ping uma na outra. Neste exemplo, você pode definir um teste para verificar o resultado pretendido antes da implantação.
O teste E2E é tipicamente um processo de três etapas. Primeiro, aplique a configuração a um ambiente de teste. Depois, executa código para verificar os resultados. Por fim, reinicie ou desative o ambiente de teste (como ao desalocar uma máquina virtual).