Tabela de conteúdos

Pipeline de CI/CD

Uma pipeline de CI/CD é uma “esteira de automação” que garante que o código saia do computador do desenvolvedor e chegue ao ambiente de produção de forma rápida, padronizada e segura.

Ao realizar um git push para o repositório, o GitLab CI/CD inicia automaticamente um fluxo de trabalho que compreende:

  1. Code Quality: Linting e análise estática.
  2. Security (SAST): Varredura de vulnerabilidades no código fonte.
  3. Testing: Execução de testes unitários e de integração.
  4. Build: Criação da imagem Docker (veja docker).
  5. Release: versionamento_semantico e publicação no registry.
  6. Deploy: Atualização automática no cluster_kubernetes.

Como funciona no projeto?

Toda a inteligência da pipeline reside no arquivo .gitlab-ci.yml na raiz do projeto. Ele organiza o trabalho em:

  1. Stages (Estágios): As fases do processo (ex: build, test, deploy).
  2. Jobs (Tarefas): O que é executado de fato (ex: run-unit-tests, docker-build). Jobs de um mesmo estágio rodam em paralelo.

Para detalhes técnicos, consulte a Documentação Oficial do GitLab.

A pipeline do Gitlab é dividida em Estágios (test, build, deploy) e em cada estágio, um ou mais jobs são executados (ex: production:test-python, production:build-k8s e production:deploy-k8s).

Repositório TCE.Templates

Para evitar a repetição de código (“Don't Repeat Yourself”), utilizamos os CI/CD Components. Em vez de configurar cada passo do zero, você importa blocos prontos da nossa biblioteca central: TCE.Templates.

Pense nos componentes como funções: você os chama no seu arquivo YAML e passa inputs (parâmetros) para definir comportamentos específicos (ex: versão do Python, porta do serviço, etc).

Próximo