Visão Geral
Este curso aborda a integração de Terraform e Jenkins para a implementação de pipelines de CI/CD (Integração Contínua e Entrega Contínua) voltados à automação da infraestrutura como código (IaC) em ambientes de nuvem. Os alunos aprenderão a usar o Jenkins para automatizar a execução de scripts Terraform, garantindo o provisionamento e o gerenciamento eficientes da infraestrutura em um fluxo contínuo de desenvolvimento e entrega.
Conteúdo Programatico
Introdução ao CI/CD e IaC
- Conceitos de Integração Contínua e Entrega Contínua (CI/CD)
- Visão Geral da Infraestrutura como Código (IaC)
- Benefícios de usar CI/CD com Terraform
Introdução ao Terraform
- O que é Terraform e como funciona
- Provedores do Terraform e configuração básica
- Gerenciamento de Estado e Execução de Planos no Terraform
- Criação de Arquivos HCL para Gerenciamento de Infraestrutura
Instalação e Configuração do Jenkins
- Instalação do Jenkins em Ambientes On-Premise e Cloud
- Configuração Inicial e Plugins Essenciais do Jenkins
- Integração do Jenkins com GitHub, GitLab ou Bitbucket
- Configurando Webhooks para Automação de Builds
Pipeline de CI/CD no Jenkins
- Conceitos de Pipelines Declarativos e Scriptados
- Criação de Pipelines Jenkins para Projetos Terraform
- Configuração de Builds Automatizados com Jenkinsfile
- Triggering de Pipelines para Mudanças no Código Terraform
Integração do Terraform com Jenkins
- Automação de Execução de Scripts Terraform via Jenkins
- Configuração de Workspaces e Backends no Jenkins
- Uso do Plugin Terraform no Jenkins para Gestão de Estados
- Execução de Planos, Aplicação de Infraestrutura e Monitoração
Integração Jenkins com Provedores de Nuvem
- Automação de Infraestrutura na AWS, Azure, e Google Cloud
- Configuração de Credenciais Seguras no Jenkins
- Automação de Provisionamento de Infraestrutura em Multi-Nuvem
Automatização de Testes com Terraform
- Implementação de Testes Automatizados com Terraform
- Uso de Ferramentas como Terratest e InSpec para Testes de Infraestrutura
- Integração de Testes no Pipeline Jenkins
Gerenciamento de Ambientes e Versionamento
- Implementação de Ambientes de Desenvolvimento, Teste e Produção
- Gerenciamento de Versionamento de Infraestrutura e Rollbacks
- Fluxos de Trabalho com Múltiplos Ambientes no Terraform
Melhores Práticas de Segurança e Governança
- Implementação de Políticas de Segurança no Jenkins
- Gerenciamento de Segredos com Vault e Jenkins Credentials
- Controle de Acesso e Permissões em Pipelines CI/CD
Monitoramento e Auditoria de Pipelines CI/CD
- Monitoramento de Pipelines Terraform com Jenkins
- Logging e Relatórios para Auditoria de Infraestrutura
- Integração de Monitoramento com Ferramentas Externas (Prometheus, Grafana)
Projeto Prático: CI/CD com Jenkins e Terraform
- Configuração Completa de um Pipeline CI/CD com Jenkins para Provisionamento de Infraestrutura na Nuvem
- Automação do Deploy de um Aplicativo em um Ambiente Kubernetes ou Nuvem
- Implementação de Testes e Monitoramento Contínuo da Infraestrutura