Questão nº 49
Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 49)
FGV2024Técnico Judiciário - Desenvolvimento de SistemasTecnologia da Informação
Gabarito: Cver comentário ↓
Considere o seguinte arquivo .gitlab-ci.yml, que define um
pipeline no GitLab CI/CD:
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "web"
- if: $CI_PIPELINE_SOURCE == "push"
stages:
- primeiro
primeiro:
stage: primeiro
script:
- echo "Executando..."
O pipeline do GitLab CI/CD descrito acima:
- Anão será executado, pois um job não pode ter o mesmo nome de um stage;
- Bnão será executado, pois a palavra-chave workflow é inválida;
- Cserá executado apenas no clique do botão Run Pipeline na interface do GitLab e nos eventos de push de branches ou de tags; (alternativa correta)
- Dserá executado apenas nos acionamentos via API do GitLab, e nos eventos de push de branches, mas não nos de tags;
- Eserá executado apenas nos acionamentos via WebHooks registrados no GitLab, e nos eventos de push de branches, mas não nos de tags.
Resposta comentada
Gabarito Alternativa C
O workflow:rules no GitLab CI/CD é uma configuração que decide se um pipeline inteiro deve ser criado e executado, baseando-se em condições sobre o evento que o acionou.
- (A) Incorreta: Um job pode ter o mesmo nome de um stage no GitLab CI/CD; isso não impede a execução do pipeline.
- (B) Incorreta: A palavra-chave
workflowé válida e usada para definir regras globais de execução do pipeline. - (C) Correta: As regras
workflow:rulesespecificam que o pipeline será executado se$CI_PIPELINE_SOURCEfor "web" (acionamento manual pela interface) ou "push" (acionamento por push em branches ou tags). - (D) Incorreta: O pipeline não será executado por acionamentos via API (pois
$CI_PIPELINE_SOURCE == "api"não está nas regras), e pushes em tags estão incluídos na condição$CI_PIPELINE_SOURCE == "push". - (E) Incorreta: Acionamentos via WebHooks geralmente resultam em
pushou outros eventos, mas a condição explícita para WebHooks não está presente, e pushes em tags estão incluídos na condição$CI_PIPELINE_SOURCE == "push".
Fonte: FGV TRF1 2024 Técnico Judiciário - Desenvolvimento de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.