Determinada empresa adota a cultura DevOps, com os objetivos de colaboração e integração do desenvolvimento de software e das operações. A mesma empresa também adota práticas de automação em que alterações de código são frequentes e adicionadas a um repositório central de versionamento, para que, em seguida, ocorram as etapas de build e teste para melhorar a qualidade. Nessa situação hipotética, a empresa aplica o conceito de
- A)agile scrum.
Agile Scrum e um framework agil de organizacao do trabalho, nao a pratica de integrar codigo com build e testes automatizados.
- B)continuous integration.
Esta correta porque descreve integracao continua, com commits frequentes em repositorio central seguidos de build e testes automatizados.
- C)machine learning.
Machine learning trata de sistemas que aprendem com dados, sem relacao com o fluxo de integracao e testes de codigo.
- D)blockchain.
Blockchain e uma tecnologia de registro distribuido, nao um conceito de automacao de build e teste no desenvolvimento.
- E)continuous delivery.
Continuous delivery se refere a manter o software pronto para entrega frequente, mas o enunciado enfatiza integracao do codigo com build e teste a cada alteracao.
Gabarito: B
A questão descreve exatamente o fluxo de integracao continua: o time faz alteracoes frequentes de codigo, envia para um repositorio central e, logo em seguida, o sistema executa build e testes automaticamente. A ideia central e reduzir o risco de juntar tudo no final e descobrir problema tarde demais. Em outras palavras, voce integra cedo, testa cedo e sofre menos depois - o famoso “deu ruim, mas cedo”. No DevOps, isso combina bem com colaboracao entre desenvolvimento e operacoes, mas o nome da pratica citada no enunciado e outro: integracao continua. Ela foca em manter o codigo sempre integrado e validado por automacao, com commits pequenos e frequentes. Isso melhora a detecao de falhas, facilita a entrega e evita o caos do “vamos juntar tudo na vespera”. O gabarito B esta correto porque continuous integration e justamente a pratica de integrar alteracoes frequentemente em um repositorio central, disparando build e testes automatizados a cada integracao. A doutrina de engenharia de software trata essa pratica como um dos pilares da automacao no ciclo de desenvolvimento moderno, muito associada a DevOps e a pipelines de entrega. Cuidado para nao confundir com continuous delivery: ela tambem usa automacao, mas o foco e deixar a aplicacao sempre pronta para ser entregue, nao apenas integrar e testar a cada alteracao.