pres:gerti:devops:pipelines_cicd

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
pres:gerti:devops:pipelines_cicd [16/03/2026 20:20] – removida - edição externa (Data desconhecida) 127.0.0.1pres:gerti:devops:pipelines_cicd [17/03/2026 21:02] (atual) – [Próximo] lvinicius
Linha 1: Linha 1:
 +====== 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:
 +  - **Code Quality**: Linting e análise estática.
 +  - **Security (SAST)**: Varredura de vulnerabilidades no código fonte.
 +  - **Testing**: Execução de testes unitários e de integração.
 +  - **Build**: Criação da imagem Docker (veja [[..:docker]]).
 +  - **Release**: [[..:versionamento_semantico]] e publicação no [[..:registry]].
 +  - **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:
 +
 +  - Stages (Estágios): As fases do processo (ex: build, test, deploy).
 +  - 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 [[https://docs.gitlab.com/ci/pipelines/|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 [[https://docs.gitlab.com/ci/components/|CI/CD Components]]. Em vez de configurar cada passo do zero, você importa blocos prontos da nossa biblioteca central: [[https://gitsource.tce.go.gov.br/GER-TI/tce.kubernetes/tce.templates|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 =====
 +  *[[pres:gerti:devops:como_criar_uma_pipeline_de_ci_cd:start|Como Criar uma Pipeline de CI/CD]]