Em um servidor GitLab CI/CD, um pipeline é acionado por um ...

Próximas questões
Com base no mesmo assunto
Q3874366 Engenharia de Software
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á:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B

Fundamento decisivo: CI_COMMIT_BRANCH, em branch pipelines, corresponde ao nome do branch do commit que disparou o pipeline.

Tema central: Variável CI_COMMIT_BRANCH
Análise das alternativas
A
Errada
Está errada porque troca a variável pedida por outra ideia: branch padrão do repositório. CI_COMMIT_BRANCH não representa o branch padrão; ela representa o branch do commit que acionou o pipeline.
B
Certa
A alternativa B está correta porque a variável predefinida CI_COMMIT_BRANCH, em branch pipelines, assume o nome do branch do commit que disparou o pipeline. No caso descrito, isso corresponde a feature/nova-funcionalidade.
C
Errada
Está errada porque, no cenário descrito, a variável está disponível. A base informa que CI_COMMIT_BRANCH existe em branch pipelines; como houve push em branch, ela não fica nula nem desativada.
D
Errada
Está errada porque atribui à variável uma composição baseada em branch local e upstream, com prefixo, o que não corresponde à definição oficial. CI_COMMIT_BRANCH retorna apenas o nome do branch do commit no pipeline.
E
Errada
Está errada porque também descreve a variável em termos de branch local de origem, ainda que sem upstream. Esse não é o critério técnico da variável no GitLab CI/CD; o valor é simplesmente o nome do branch do commit que disparou o pipeline.
Pegadinha da questão
A confusão real era misturar CI_COMMIT_BRANCH com CI_DEFAULT_BRANCH e, ao mesmo tempo, supor que ausência de regras específicas no .gitlab-ci.yml ou conceitos de local/remoto/upstream mudariam o valor da variável.
Dica para questões semelhantes
  • Se a variável é predefinida e o enunciado diz que não houve sobrescrita, aplique diretamente a definição oficial dela.
  • Antes de marcar indisponibilidade de variável do GitLab, identifique o tipo de pipeline; em branch pipeline, CI_COMMIT_BRANCH está disponível.
  • Não transporte para variáveis do GitLab noções de branch local, remoto ou upstream quando a definição oficial fala apenas em nome do branch do commit.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Quando um pipeline é acionado por um push no GitLab CI/CD, a variável predefinida $CI_COMMIT_BRANCH assume o nome do branch que está sendo enviado para o servidor remoto (neste caso, feature/nova-funcionalidade), conforme a documentação de variáveis de ambiente do GitLab.

Fonte: Google Gemini.

Vamos analisar o cenário:

O push foi feito no branch feature/nova-funcionalidade.

O pipeline é acionado por esse push.

O .gitlab-ci.yml não tem regras específicas para esse branch.

A variável $CI_COMMIT_BRANCH não foi sobrescrita.

No GitLab CI/CD, quando um pipeline é executado para um branch (não para tags ou merge requests), a variável $CI_COMMIT_BRANCH contém o nome do branch que foi enviado (no caso, feature/nova-funcionalidade).

Isso acontece porque essa variável reflete o branch no qual o commit está localizado no repositório remoto.

Vendo as alternativas:

A) nome do branch padrão → errado, isso seria para outros contextos.

B) nome do branch remoto feature/nova-funcionalidade → correto, pois o push originou nesse branch e é o branch remoto sendo executado.

C) nulo → errado, pois está ativo.

D) branch local onde o commit foi originado, com upstream → errado, pois o CI não tem “branch local” no sentido do desenvolvedor, e sim o branch remoto.

E) branch local sem upstream → errado pelo mesmo motivo.

Portanto, resposta correta:

B) o nome do branch remoto ‘feature/nova-funcionalidade’.

Fonte: DeepSeek

A variável CI_COMMIT_BRANCH é uma variável predefinida do GitLab CI/CD que contém o nome do branch que acionou o pipeline.

CI_COMMIT_BRANCH = branch que disparou o pipeline. Se o push foi em feature/nova-funcionalidade, esse será o valor da variável.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo