
Em anexo você vai encontrar o projeto completo para se basear ao longo do curso.
Leia mais sobre o Gitflow no link em anexo nesta aula.
Deixa eu adivinhar... Você vem estudando diversas ferramentas do mundo DevOps mas tem aquele sensação de... Como que essas ferramentas devem trabalhar de forma conjunta?
Pois é, é algo realmente complexo e que muda de negócio para negócio.
Visando dar para vocês um norte, eu desenvolvi o treinamento Jenkins: CI/CD com Gitflow no Kubernetes para ser totalmente over-engineering. Isso é, vamos subir uma infraestrutura muito robusta, 100% em Kubernetes, usando o máximo de tecnologias possíveis para que você possa visualizar a integração entre elas, e quais problemas resolvem.
Por isso é importante que você já conheça as seguintes ferramentas: Linux, Docker e Kubernetes.
Neste curso, não passamos pelo básico delas. O foco é 100% em integrar as ferramentas na pipeline.
Todo o curso é realizado localmente com Kind, por isso eu recomendo o seguinte setup:
Uma máquina Linux, porque ela se dá melhor com o Docker.
Pelo menos 16GB de RAM, afinal, ela vai hostear todas as ferramentas e execuções da pipeline.
Porém, isso é apenas uma sugestão. O curso pode ser facilmente adaptável para rodar em homelabs (com Proxmox por exemplo), em nuvem (EKS, AKS, GKS, Digital Ocean, etc) ou como você quiser. Essa é a vantagem do Kubernetes, tudo é facilmente adaptável.
Agora deixa eu te mostrar um pouco sobre a grade do treinamento:
Módulo 1 - Introdução & Setup do ambiente: Criação do cluster Kubernetes 100% local usando Kind e ajustes para tudo correr bem.
Módulo 2 - Helm Charts de infraestrutura: Automação e instalação de todos os Helm Charts de infraestrutura para nossa pipeline (tudo vai rodar em cima do Kubernetes).
Módulo 3 - Setup do SCM: Setup de usuário de serviço e expondo TCP no NGINX Ingress Controller.
Módulo 4 - Setup do CI: Instalação de plugins, uso do Jenkinsfile e integração via Webhook entre Gitea <> Jenkins.
Módulo 5 - Testes: Introdução a aplicação que vamos usar como base (desenvolvida em outro curso aqui), e criação do primeiro stage de testes da aplicação.
Módulo 6 - Shared Libraries: Modularizar o código da pipeline em bibliotecas reusáveis.
Módulo 7 - SonarQube: Stage de análise de código estática usando o Sonar Scanner / SonarQube.
Módulo 8 - Build: Build da imagem Docker no Kubernetes com Kaniko, 100% Cloud-Native e sem necessidade de Docker in Docker.
Módulo 9 - Security Scan (Docker): Análise de segurança da imagem Docker via API do Harbor.
Módulo 10 - Promoção de Artefatos: Promovendo imagens Docker com regras de branches ao invés de realizar outro build, reduzindo tempo da pipeline e consequentemente aumentando a confiabilidade no artefato.
Módulo 11 - Testes de infraestrutura/integração: Teste simples deployando a aplicação e realizando um curl, mas que pode ser expandido para necessidades do negócio.
Módulo 12 - Deploy: Deploy no Kubernetes via ArgoCD com princípio de GitOps, automatizando a criação de tags para ambiente produtivo e notificação no Discord.
O curso é 100% prático e focado em desenvolver um projeto do começo ao fim.
Então, se você acredita que esse conhecimento pode te ajudar, ficarei muito feliz em ser seu instrutor aqui na Udemy! Conte comigo ao longo do curso em caso de dúvidas.
Te espero do outro lado!