Questão nº 71
Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 71)
O analista Maicon deve configurar um novo runner, chamado RunM, no GitLab CI/CD do TRF1. Os jobs executados no RunM devem ser capazes de interagir de forma plena com um dispositivo externo conectado fisicamente ao host do runner. O escalonamento do RunM pelo GitLab deve ser fixo, e não automático. Maicon deve escolher o executor de runner do GitLab que exige a menor quantidade de customização necessária para a execução de RunM.
O executor de runner que Maicon deve escolher é:
- Ashell; (alternativa correta)
- Bdocker;
- Cparallels;
- Dinstance;
- Evirtualbox.
Resposta comentada
Gabarito Alternativa A
Um executor do GitLab Runner é a tecnologia que o runner usa para executar os seus "jobs" (tarefas) de CI/CD. Ele define como o ambiente de execução será criado e onde o código será executado, impactando a capacidade de interagir com o hardware do servidor.
- (A) Correta: O executor shell executa os jobs diretamente no sistema operacional do host onde o runner está instalado. Isso permite acesso irrestrito e pleno a dispositivos físicos conectados ao host, como o dispositivo externo mencionado, e o escalonamento é fixo porque cada job usa o próprio host.
- (B) Incorreta: O executor docker executa os jobs dentro de contêineres Docker, que são ambientes isolados. Essa isolamento dificulta ou impede a interação direta e plena com dispositivos físicos do host sem customizações complexas (como mapeamento de dispositivos), o que vai contra a exigência de menor quantidade de customização. Além disso, Docker é frequentemente usado para escalonamento automático, o que contradiz o requisito de escalonamento fixo. Armadilha da banca: Docker é muito popular em DevOps, mas seu isolamento é uma barreira para acesso pleno e direto a hardware físico sem muita customização.
- (C) Incorreta: O executor parallels é específico para máquinas macOS e executa jobs dentro de máquinas virtuais Parallels Desktop. Ele adiciona uma camada de virtualização que não é ideal para acesso direto e pleno a hardware físico do host e é restrito a um sistema operacional específico.
- (D) Incorreta: "Instance" não é um tipo de executor padrão do GitLab Runner. Os executores são tecnologias como shell, docker, kubernetes, virtualbox, parallels, ssh.
- (E) Incorreta: O executor virtualbox executa jobs dentro de máquinas virtuais VirtualBox. Assim como o Parallels, ele introduz uma camada de virtualização que dificulta o acesso direto e pleno a dispositivos físicos do host sem customizações adicionais, e o escalonamento pode ser mais complexo do que o fixo desejado.
Fonte: FGV TRF1 2024 Analista Judiciário - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.