Questão nº 40
Questão de Tecnologia da Informação · FCC TRT4 2022 (nº 40)
Integração e implantação contínuas (CI/CD) é uma coleção de práticas usadas para integrar e entregar código rapidamente. Usando a prática de
- Aintegração contínua (CI), em um cronograma pré-acordado, provavelmente no final do ciclo de sprint, o pacote de código é liberado e testado manualmente pelo time de desenvolvimento.
- Bimplantação contínua (CD), depois que todo o código é validado com sucesso pelo time de desenvolvimento e qualidade, implanta-se o código manualmente no ambiente de teste ou de produção.
- Cimplantação contínua (CD) em que o grupo controle de qualidade realiza testes manuais para todos os códigos novos ou modificados. Se for bem-sucedido, o código será liberado para implantação; caso contrário, o lançamento é rejeitado e colocado em espera até que os bugs sejam corrigidos.
- Dintegração contínua (CI), os desenvolvedores são incentivados a fazer pequenos ajustes de código, mesclar seu código na ramificação de código principal e validá-lo usando testes automatizados. (alternativa correta)
- Eintegração contínua (CI), para implementar pipelines devem ser utilizadas ferramentas como Zuul e Eureka.
Resposta comentada
Gabarito Alternativa D
Integração Contínua (CI) é a prática de desenvolvedores integrarem suas mudanças de código frequentemente, geralmente várias vezes ao dia, em um repositório central, onde cada integração é verificada por testes automatizados. Implantação Contínua (CD) estende a CI, garantindo que o código que passou nos testes automatizados seja automaticamente entregue para um ambiente de teste ou, no caso de Implantação Contínua (Continuous Deployment), para produção.
(A) Incorreta: A integração contínua (CI) incentiva integrações frequentes, não apenas no final de um ciclo de sprint, e enfatiza testes automatizados, não manuais.
(B) Incorreta: A implantação contínua (CD) visa a automação completa da implantação, não a implantação manual, seja em ambiente de teste ou produção.
(C) Incorreta: A implantação contínua (CD) depende fortemente de testes automatizados para garantir a velocidade e a confiabilidade das entregas. Realizar testes manuais para todos os códigos novos ou modificados atrasaria significativamente o processo, indo contra o princípio de "contínuo" e automatizado. Armadilha da banca: Esta alternativa é tentadora porque fala de controle de qualidade e liberação, que são partes do processo. No entanto, a dependência de testes manuais para todos os códigos é o ponto fraco, pois a CD busca maximizar a automação para agilidade.
(D) Correta: A integração contínua (CI) é exatamente isso: incentivar desenvolvedores a fazer mudanças pequenas e frequentes, mesclá-las na ramificação principal (mainline) e validá-las com testes automatizados para garantir que o código funcione e não quebre a build.
(E) Incorreta: Zuul (API Gateway) e Eureka (Service Discovery) são ferramentas usadas em arquiteturas de microsserviços, mas não são ferramentas primárias para a implementação de pipelines de CI (que usam ferramentas como Jenkins, GitLab CI, GitHub Actions, etc.).
Fonte: FCC TRT4 2022 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.