## glossário
O que é Pipeline?
Pipeline é uma sequência de etapas de processamento encadeadas, em que a saída de cada etapa serve de entrada para a seguinte. O termo vem da analogia com um encanamento: o material entra de um lado, passa por transformações sucessivas e sai processado do outro.
O conceito aparece em vários contextos da computação, sempre com a mesma lógica: dividir um processo complexo em etapas independentes, verificáveis e — muitas vezes — executáveis em paralelo.
Os tipos mais comuns
- Pipeline de CI/CD — build, testes, análise de segurança e deploy. Detalhado no verbete CI/CD.
- Pipeline de dados — extrai de fontes diversas, transforma e carrega em um destino analítico (o padrão ETL ou ELT).
- Pipeline de machine learning — coleta, limpeza, engenharia de atributos, treino, validação e publicação do modelo.
- Pipeline de shell — comandos encadeados por
|, onde a saída de um vira a entrada do próximo. - Pipeline de CPU — no nível do processador, instruções em estágios simultâneos de execução.
# cada | passa a saída adiante
cat acesso.log \
| grep "POST /api" \
| awk '{print $7}' \
| sort \
| uniq -c \
| sort -rn \
| head -10
# resultado: os 10 endpoints POST mais chamadosPor que dividir em etapas
A estrutura em etapas traz vantagens que um script monolítico não tem. Cada etapa pode ser testada isoladamente. Uma falha aponta exatamente onde o processo quebrou. Etapas independentes rodam em paralelo, encurtando o tempo total. E é possível reprocessar apenas a parte afetada, em vez de refazer tudo.
stages:
- lint
- test
- build
- deploy
lint:
stage: lint
script: npm run lint
test:
stage: test
script: npm test
build:
stage: build
script: npm run build
artifacts:
paths: [dist/]
deploy:
stage: deploy
script: ./deploy.sh
only: [main]Características de um pipeline bem construído
Ele deve ser idempotente (rodar duas vezes produz o mesmo resultado), observável (dá para ver onde está e o que falhou), rápido (feedback tardio não é usado) e reversível (dá para desfazer o que foi publicado). Para o caso específico de dados, o artigo sobre pipeline de dados aprofunda o assunto.
## faq
Perguntas frequentes
Qual a diferença entre pipeline e workflow?
Pipeline sugere fluxo linear, em que cada etapa alimenta a próxima. Workflow é mais amplo e admite ramificações, condicionais, aprovações e caminhos paralelos que se reencontram. Na prática as ferramentas misturam os dois termos.
O que é ETL e ELT?
São ordens diferentes de montar um pipeline de dados. Em ETL, os dados são transformados antes de entrar no destino. Em ELT, são carregados brutos e transformados dentro do próprio data warehouse, aproveitando seu poder de processamento — abordagem que se tornou dominante com warehouses modernos.
Como acelerar um pipeline lento?
Cacheie dependências entre execuções, rode etapas independentes em paralelo, execute apenas os testes afetados pela mudança quando possível, e mova verificações demoradas para depois das rápidas — assim uma falha trivial aborta o processo antes de gastar os minutos caros.
## leia também