Questão de Engenharia de Software — Ferramentas de Desenvolvimento de Software — FGV 2026
Engenharia de Software›Ferramentas de Desenvolvimento de Software
Código
fg133900
Banca
FGV
Órgão
TJ-RJ
Ano
2026
Nível
Superior
Cargo
Analista Judiciário - Tecnologia da Informação - Analista de Sistemas
Em um servidor GitLab CI/CD, um pipeline é acionado por um push no branch 'feature/nova-funcionalidade'. O arquivo .gitlab-ci.yml que configurou o pipeline acionado não possui regras específicas para esse branch. Além disso, a variável $CI_COMMIT_BRANCH, predefinida pelo GitLab CI/CD, não foi sobrescrita em nenhum momento. Nesse cenário, o valor da variável $CI_COMMIT_BRANCH durante a execução do pipeline será:
Ao nome do branch padrão do repositório;
Bo nome do branch remoto ‘feature/nova-funcionalidade’;
Cnulo, pois essa variável estará desativada para esse branch;
Do nome do branch local onde o commit foi originado, sem informações de upstream. o nome do branch local onde o commit foi originado, prefixado pelo upstream;
Eo nome do branch local onde o commit foi originado, sem informações de upstream.
Revelar gabarito e comentário▾
GabaritoB — o nome do branch remoto ‘feature/nova-funcionalidade’;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
GitLab CI/CD – Variável $CI_COMMIT_BRANCH
Gabarito: letra B. A variável predefinida $CI_COMMIT_BRANCH guarda exatamente o nome do branch que disparou o pipeline. Como o push foi feito no branch feature/nova-funcionalidade, esse será o valor durante a execução, independentemente de regras adicionais no .gitlab-ci.yml.
A banca testa se você compreende o comportamento padrão das variáveis predefinidas no GitLab CI/CD. Vamos analisar cada alternativa:
Variável Predefinida
Propósito
Valor no Cenário (push em feature/nova-funcionalidade)
$CI_COMMIT_BRANCH
Nome do branch que disparou o pipeline (push ou merge request)
feature/nova-funcionalidade
$CI_DEFAULT_BRANCH
Nome do branch padrão do repositório (ex.: main, master)
main (ou outro configurado)
$CI_COMMIT_REF_NAME
Nome do branch ou tag que disparou o pipeline
feature/nova-funcionalidade
$CI_PIPELINE_SOURCE
Origem do pipeline (ex.: push, merge_request_event, web)
push
Alternativa A — ❌ Incorreta
O nome do branch padrão (geralmente main ou master) é armazenado na variável $CI_DEFAULT_BRANCH, não em $CI_COMMIT_BRANCH. Esta última sempre reflete o branch do evento que acionou o pipeline.
Alternativa B — ✅ Correta ⟵ GABARITO
$CI_COMMIT_BRANCH é definida automaticamente com o nome do branch alvo do push ou, em pipelines de merge request, com o branch de origem. No cenário descrito (push em feature/nova-funcionalidade), o valor será exatamente feature/nova-funcionalidade.
Alternativa C — ❌ Incorreta
$CI_COMMIT_BRANCH está sempre disponível para pipelines acionadas por push ou merge request. Não há condição que a desative para branches específicos, a menos que explicitamente sobrescrita (o que não ocorre no enunciado).
Alternativa D — ❌ Incorreta (confusa)
A alternativa D apresenta duas afirmações contraditórias ("sem informações de upstream" e "prefixado pelo upstream"). O GitLab não adiciona prefixo de upstream à variável; o valor é apenas o nome do branch (ex.: feature/nova-funcionalidade).
Alternativa E — ❌ Incorreta
O valor não é "sem informações de upstream" no sentido de ser apenas o nome local do branch de origem. $CI_COMMIT_BRANCH fornece o nome do branch remoto (o mesmo que aparece no push). Não há distinção entre local e remoto nessa variável.
PEGA ESSA DICA!
No GitLab CI/CD, memorize as principais variáveis predefinidas: CI_COMMIT_BRANCH (branch do evento), CI_DEFAULT_BRANCH (branch padrão do projeto), CI_COMMIT_REF_NAME (branch ou tag) e CI_PIPELINE_SOURCE (origem do pipeline). Resolver questões sobre elas é treino de leitura da documentação oficial.