Pular para o conteúdo principal

Questão de Engenharia de Software — DevOps, IaC, Integração Contínua e Entrega Contínua — CESPE / CEBRASPE 2023

Engenharia de SoftwareDevOps, IaC, Integração Contínua e Entrega Contínua
Código
ce398078
Banca
CESPE / CEBRASPE
Órgão
DATAPREV
Ano
2023
Cargo
Ana TI ( )
Tendo como referência conceitos e princípios de DevOps e DevSecOps, julgue o item a seguir, relativo aos 6 Cs.   O processo de entrega contínua envolve a automação de processos de desenvolvimento, testes e integração dos códigos de forma frequente e em um repositório compartilhado.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Entrega Contínua (CD) × Integração Contínua (CI) no DevOps

Gabarito: Errado (E). A afirmativa descreve, na verdade, o conceito de integração contínua (CI), e não o de entrega contínua (CD). A integração contínua é a prática de integrar alterações de código com frequência em um repositório compartilhado, com automação de build e testes. A entrega contínua, por sua vez, vai além: após a integração e os testes, o software é preparado e disponibilizado em um repositório, pronto para implantação, mas exige uma aprovação manual para ser efetivamente implantado em produção. A banca trocou os conceitos, e é exatamente essa distinção que o item explora.

No contexto de DevOps, os termos CI (Continuous Integration) e CD (Continuous Delivery/Deployment) são frequentemente confundidos, e as bancas adoram explorar essa confusão. Vamos destrinchar cada um:

  • Integração Contínua (CI): é uma prática em que os desenvolvedores, com frequência, integram suas alterações de código em um repositório central. A cada integração, o código é automaticamente compilado e testado. O objetivo é identificar e corrigir erros rapidamente, melhorando a qualidade do software e reduzindo o tempo de lançamento de novas atualizações. É a automação do processo de build e testes a cada commit.

  • Entrega Contínua (CD - Continuous Delivery): é a extensão da CI. Após a integração e os testes automatizados, o software é automaticamente preparado e carregado em um repositório, ficando pronto para ser implantado em produção a qualquer momento. No entanto, a implantação em si requer uma aprovação manual (humana). Ou seja, o software está sempre em um estado "implantável", mas a decisão de ir para produção é tomada por uma pessoa.

  • Implantação Contínua (CD - Continuous Deployment): é um passo além da entrega contínua. Aqui, cada alteração aprovada nos testes é implantada automaticamente em produção, sem intervenção humana. É a automação completa do pipeline, do commit à produção.

A pegadinha da questão está em atribuir à entrega contínua a automação de "desenvolvimento, testes e integração dos códigos de forma frequente e em um repositório compartilhado". Essa é a definição clássica de integração contínua. A entrega contínua pressupõe a integração contínua, mas adiciona a etapa de preparação para implantação (empacotamento, publicação em repositório de artefatos) e a exigência de aprovação antes de ir para produção.

Para fixar, veja a comparação:

Característica

Integração Contínua (CI)

Entrega Contínua (CD)

Implantação Contínua (CD)

Objetivo principal

Integrar código com frequência e validar por meio de build e testes automatizados.

Deixar o software sempre pronto para implantação, com aprovação manual.

Implantar automaticamente em produção, sem intervenção humana.

Automação

Build e testes a cada integração.

Preparação e publicação em repositório de artefatos.

Implantação em produção.

Intervenção humana

Não há (é automático).

Há: uma aprovação manual é necessária antes da implantação.

Não há: é totalmente automático.

Resultado

Código integrado e testado.

Artefato pronto para implantar.

Software em produção.

A questão, ao afirmar que a entrega contínua envolve "automação de processos de desenvolvimento, testes e integração dos códigos de forma frequente e em um repositório compartilhado", está descrevendo a integração contínua. A entrega contínua, embora dependa da CI, tem como característica distintiva a preparação para implantação com aprovação manual.

1Integração Contínua (CI)
Build e testes automáticos
Integração frequente no repositório
2Entrega Contínua (CD)
Pronto para implantar
Exige aprovação manual
3Implantação Contínua (CD)
Implantação automática
Sem intervenção humana
Pipeline DevOps (6 Cs)
LEVELsoulevel.com.br
Pipeline DevOps (6 Cs): Integração Contínua (CI) (Build e testes automáticos, Integração frequente no repositório); Entrega Contínua (CD) (Pronto para implantar, Exige aprovação manual); Implantação Contínua (CD) (Implantação automática, Sem intervenção humana)

Item — ❌ ERRADO

A afirmativa está errada porque descreve o conceito de integração contínua (CI), não o de entrega contínua (CD). A integração contínua é que envolve a automação de desenvolvimento, testes e integração frequente em um repositório compartilhado. A entrega contínua, por sua vez, é a etapa que prepara o software para implantação (empacotando e publicando em um repositório de artefatos), mas exige uma aprovação manual antes de ir para produção. A banca trocou os conceitos, e o candidato que não domina a distinção entre CI e CD cai na armadilha.

NÃO CAIA NESSA!

A banca adora inverter os conceitos de CI e CD. A integração contínua é a automação de build e testes a cada integração no repositório. A entrega contínua é a preparação do software para implantação, aguardando aprovação manual. A implantação contínua é a automação total, sem intervenção humana. Quando a questão falar em "automação de testes e integração frequente", é CI; quando falar em "pronto para implantação, mas com aprovação", é entrega contínua; quando falar em "implantação automática em produção", é implantação contínua. Com esse mapa, você não erra mais.

Gabarito: Errado (E).

Link permanente: /questoes/ce398078