No processo de integração contínua, qual o papel do servidor de integração contínua em relação ao repositório de controle de versões?
Questão
No processo de integração contínua, qual o papel do servidor de integração contínua em relação ao repositório de controle de versões?
Alternativas
a. Possui um papel passivo, ou seja, ele fica aguardando o repositório de controle de versões notificá-lo que houve modificações em código-fonte.
b. Possui papel tanto ativo quanto passivo, ou seja, ele fica monitorando o repositório de controle de versões, buscando por modificações de código-fonte, porém, se ele demorar para perguntar ao controle de versões ele será então notificado.
c. Nenhum papel, pois o servidor de integração contínua é notificado que houve modificações em código-fonte pelo servidor de testes.
d. Possui um papel ativo, ou seja, ele fica monitorando o repositório de controle de versões, buscando por modificações de código-fonte.
e. Nenhum papel, pois o servidor de integração contínua fica monitorando o servidor de testes para buscar por modificações em código-fonte.
Explicação
No processo de Integração Contínua (CI), o servidor de CI deve detectar quando há alterações no repositório de controle de versões (ex.: Git) para então disparar automaticamente o pipeline (build, testes, análises etc.).
Existem duas formas comuns de o servidor “saber” das mudanças:
- Ativa (polling): o servidor de CI consulta/monitora periodicamente o repositório para verificar se houve novos commits.
- Passiva (webhook/trigger): o repositório (ou a ferramenta que o hospeda) notifica o servidor de CI quando ocorre um push/merge.
Entre as alternativas apresentadas, apenas a letra d descreve um comportamento correto e típico do servidor de CI em relação ao repositório: monitorar (papel ativo) para buscar modificações e, ao encontrá-las, iniciar o processo de integração.
- (a) é limitada: diz que o CI é apenas passivo; isso pode acontecer por webhook, mas não é a caracterização mais geral no contexto de prova quando se fala em “monitorar”.
- (b) é incoerente: mistura polling com notificação “se demorar para perguntar”, não é uma regra do processo.
- (c) e (e) estão erradas: quem sinaliza mudança é o repositório (ou sua plataforma), não “servidor de testes”.
Alternativa correta: (d).