Questão de Engenharia de Software — DevOps, IaC, Integração Contínua e Entrega Contínua — CESPE / CEBRASPE 2024
Engenharia de Software›DevOps, IaC, Integração Contínua e Entrega Contínua
Código
ce403892
Banca
CESPE / CEBRASPE
Órgão
STJ
Ano
2024
Cargo
AJ
Julgue o próximos item, relativos a H2, Keycloak, Webhooks, Git, CD (continuous delivery) e CI (continuous integration).
CD (continuous delivery) e CI (continuous integration) são práticas afetas ao DevOps: a primeira realiza a implantação automática no repositório da solução após o build; e a segunda realiza implantação automática no ambiente de produção a cada release.
CCerto
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”.
CI e CD: conceitos e a pegadinha da banca
Gabarito: Errado (E). O item inverte os conceitos: a Integração Contínua (CI) é que realiza a integração automática do código no repositório após o build, enquanto a Entrega Contínua (CD) prepara o software para implantação, mas não o implanta automaticamente em produção — isso é a Implantação Contínua (Continuous Deployment). A banca trocou os papéis das duas práticas, e é exatamente essa inversão que torna o item incorreto.
Para entender por que o item está errado, é preciso dominar a diferença entre três práticas que costumam ser confundidas: Integração Contínua (CI), Entrega Contínua (Continuous Delivery) e Implantação Contínua (Continuous Deployment). A CI é a prática de integrar o código dos desenvolvedores em um repositório central com frequência, executando builds e testes automatizados a cada integração. O objetivo é detectar erros cedo e garantir que o código sempre esteja em um estado saudável. Já a CD (Continuous Delivery) vai um passo além: após a CI, o software é automaticamente preparado e disponibilizado em um repositório de artefatos, pronto para ser implantado em produção — mas essa implantação depende de uma aprovação humana. Por fim, a Implantação Contínua (Continuous Deployment) automatiza completamente o processo, implantando cada alteração aprovada nos testes diretamente em produção, sem intervenção humana.
A pegadinha da questão está em atribuir à CD a implantação automática no repositório e à CI a implantação automática em produção. Na verdade, a CI é que automatiza a integração no repositório, e a implantação automática em produção é característica da Implantação Contínua, não da Entrega Contínua. O item mistura os três conceitos, criando uma definição que não corresponde a nenhuma das práticas.
Para fixar, veja a comparação:
Prática
O que faz
Implantação em produção
CI (Integração Contínua)
Integra código no repositório central, com build e testes automatizados
Não
CD (Entrega Contínua)
Prepara o software e o disponibiliza em um repositório, pronto para implantar
Não (exige aprovação humana)
Continuous Deployment
Implanta automaticamente em produção, sem intervenção humana
Sim, automática
A banca explora exatamente a confusão entre essas siglas. O candidato que memoriza apenas "CI/CD" sem distinguir os conceitos tende a aceitar a afirmação como correta, mas a definição apresentada está invertida. Guarde a fronteira: CI integra no repositório; CD entrega pronto, mas não implanta; Continuous Deployment implanta automaticamente.
CI/CD
1CI (Integração Contínua)
Integra código no repositório
Build e testes automatizados
Não implanta em produção
2CD (Entrega Contínua)
Prepara e disponibiliza artefato
Implantação exige aprovação humana
3Continuous Deployment
Implantação automática em produção
Sem intervenção humana
LEVEL · soulevel.com.br
Item — ❌ Errado
O item afirma que "CD (continuous delivery) realiza a implantação automática no repositório da solução após o build; e CI realiza implantação automática no ambiente de produção a cada release". Há dois erros claros:
CD não realiza implantação automática no repositório: a Entrega Contínua automatiza a preparação e a disponibilização do software em um repositório de artefatos, mas a implantação em produção não é automática — ela exige aprovação humana. A implantação automática em produção é característica da Implantação Contínua (Continuous Deployment).
CI não realiza implantação automática em produção: a Integração Contínua automatiza a integração do código no repositório central, com build e testes, mas não implanta em produção. A implantação em produção é uma etapa posterior, que pode ser feita por CD (com aprovação) ou por Continuous Deployment (automaticamente).
Portanto, o item está errado porque inverte os papéis das práticas e atribui a cada uma uma função que não lhe corresponde.