Pular para o conteúdo
MemorizeCards

A impressão deste conteúdo não está disponível. Assine o MemorizeCards para estudar este tema com flashcards: https://memorizecards.com.br/planos

Pipelines de CI/CD: diferença entre CI e CD, Jenkins e GitHub Actions

Veja três pontos que mais caem em prova sobre pipelines de integração e entrega contínua: a função de cada etapa de CI e de CD, os tipos de código e o papel dos testes de segurança.

Computação em Nuvem · 5 DevOps, CI/CD e Infraestrutura como Código (IaC) · Atualizado em

Pipelines de integração e entrega contínua são o coração da automação de software. Nesta amostra, você vê três pontos que mais caem em prova: a divisão de funções entre CI e CD, os tipos de código que cada pipeline pode processar e o papel dos testes de segurança. Ferramentas como Jenkins e GitHub Actions executam esses fluxos, mas a banca cobra o conceito, e não a sintaxe de cada uma.

Ponto 1: CI e CD têm funções diferentes

Um pipeline de CI/CD é um fluxo de trabalho que leva o código-fonte do desenvolvedor por etapas como build (compilação), testes, empacotamento, implantação e operação. Esse fluxo é apoiado por ferramentas automatizadas e por mecanismos de feedback, que avisam a equipe quando algo falha.

As três primitivas são:

  • Integração contínua (CI): integrar e testar o código com frequência, por meio de build e testes automáticos.
  • Entrega contínua (CD): deixar o software pronto para ser entregue a qualquer momento.
  • Implantação contínua (CD): colocar o software em produção de forma automática.

Na prática, o CI puxa o código do repositório, invoca o build, aciona as ferramentas de teste e grava os artefatos testados no registro de imagens. Já o CD retira esses artefatos, empacota e implanta conforme a infraestrutura descrita em código.

💡 Dica: pense em CI como "puxa, compila, testa e guarda" e em CD como "retira, empacota e implanta". Assim você não confunde as duas siglas.
⚠️ Pegadinha: a banca costuma inverter as funções. Quem grava os artefatos testados no registro de imagens é o CI. Quem retira esses artefatos e faz o deploy é o CD.

Jenkins e GitHub Actions descrevem esses fluxos como código e os guardam junto com a aplicação. Em um, o pipeline costuma ficar em um arquivo de definição no próprio projeto; no outro, em arquivos de workflow no repositório. Em prova, o que importa é a função de cada etapa, não qual ferramenta a executa.

Ponto 2: os cinco tipos de código

A banca gosta de cobrar a classificação do que vai para o pipeline. Podem ser criados pipelines separados para cinco tipos de código:

  1. Código da aplicação: lógica que executa funções de negócio.
  2. Código de serviços da aplicação: sessão, conexão e recursos de rede, como descoberta de serviços, rotas, resiliência e autenticação em um service mesh.
  3. Infraestrutura como código (IaC): recursos de computação, rede e armazenamento descritos em código declarativo.
  4. Política como código: regras de segurança em tempo de execução, como as da abordagem zero trust.
  5. Observabilidade como código: logging, tracing e monitoramento da saúde da aplicação.
📌 Cai muito: IaC, política como código e observabilidade como código formam o código declarativo. Eles recebem o mesmo tratamento do código da aplicação: são versionados, documentados e têm controles de acesso definidos.
⚠️ Pegadinha: os tipos 3, 4 e 5 podem se sobrepor ao tipo 2. Não são compartimentos estanques, e uma mesma configuração pode pertencer a mais de uma categoria.

Como a IaC chega à infraestrutura

A linguagem declarativa modela a infraestrutura como um conjunto de recursos. A ferramenta de gestão de configuração reúne esses recursos e gera manifestos, que definem a forma e o estado finais da plataforma. Esses manifestos costumam ser codificados em formato neutro de plataforma, como o JSON, e enviados aos agentes de provisionamento por REST APIs.

Ponto 3: testes de segurança no pipeline

As ferramentas de teste de segurança citadas são SAST, DAST e SCA. Elas identificam vulnerabilidades e bugs por meio de varreduras. Uma forma prática de memorizar: o SAST analisa o código estático, o DAST testa a aplicação em execução e o SCA verifica as dependências de terceiros.

  • SAST, DAST e SCA também podem ser aplicados ao IaC, já que ele define a arquitetura de implantação. Assim, falhas de projeto de segurança podem ser avaliadas e corrigidas de forma automática.
  • Em algumas plataformas, essas ferramentas se integram às IDEs e às demais ferramentas DevOps, ficando transparentes ao desenvolvedor.
📌 Cai muito: SAST, DAST e SCA são as ferramentas de teste de segurança do pipeline, e o IaC também pode ser testado por elas.
⚠️ Pegadinha: a segurança não se limita ao build e à implantação. Em produção, há monitoramento contínuo, alertas e mecanismos de correção, o que apoia a autorização contínua para operar (C-ATO).

Resumo para a prova

🧠 Memorize: CI puxa, compila, testa e guarda. CD retira, empacota e implanta. Os cinco tipos de código passam por pipelines, e o código declarativo é versionado, documentado e controlado.

Continue estudando

A aula completa, os mapas mentais e os flashcards com repetição espaçada deste tema estão no plano do MemorizeCards. Veja as opções em ver os planos e explore outros temas em ver o catálogo.

Perguntas frequentes

Qual é a diferença entre integração contínua e entrega contínua?

A integração contínua (CI) puxa o código do repositório, faz o build, executa os testes e grava os artefatos testados no registro de imagens. A entrega contínua (CD) retira esses artefatos, empacota e implanta conforme a infraestrutura descrita em código.

Quais são os cinco tipos de código que podem ter pipelines separados?

São o código da aplicação, o código de serviços da aplicação, a infraestrutura como código (IaC), a política como código e a observabilidade como código. Os três últimos formam o código declarativo e devem ser versionados, documentados e ter controle de acesso.

Os testes SAST, DAST e SCA servem só para o código da aplicação?

Não. Essas ferramentas de teste de segurança também podem ser aplicadas ao IaC, porque ele define a arquitetura de implantação. Isso permite avaliar e corrigir falhas de projeto de segurança de forma automática.

Outros temas de TCU

Todos os temas de TCU (Auditor Federal de Controle Externo) · Blog · Catálogo de flashcards