Questão nº 90
Questão de Engenharia de Software · CEBRASPE SUSEP 2025 (nº 90)
default: image: 'ruby:2.4' before_script: - echo Hello World variables: DOMAIN: example.com WEBHOOK_URL: https://my-webhook.example.com build ruby 1/2: stage: build inherit: default: [image] variables: [WEBHOOK_URL] script: - echo "ruby1" build ruby 2/2: stage: build script: - echo "ruby2"Considerando o trecho de código precedente, extraído do arquivo
.gitlab-ci.yml, julgue os próximos itens.
Os jobs build ruby 1/2 e build ruby 2/2 são, por padrão, executados em paralelo no GitLab CI, a menos que haja dependências explícitas configuradas entre eles.
Resposta comentada
No GitLab CI, stages (estágios) definem a ordem macro do pipeline: jobs do mesmo stage rodam em paralelo por padrão; jobs de stages diferentes rodam em sequência. Como build ruby 1/2 e build ruby 2/2 estão ambos no stage build, eles disparam juntos — a menos que você use needs: (dependência explícita) ou dependencies: para forçar ordem/ligação entre eles.
- Correta: Certo. Mesmo stage = execução paralela por padrão; só
needs:/dependencies:criam dependência explícita.
Fica de olho: a banca costuma trocar o cenário para jobs em stages diferentes (ex.: um em build, outro em test) e afirmar que rodam em paralelo — aí seria Errado, pois stages distintos rodam em sequência. Outra pegadinha clássica: dizer que inherit: ou variables: criam dependência entre jobs — não criam, só controlam herança de configuração.
Fonte: CEBRASPE SUSEP 2025 Analista Técnico - Área: Tecnologia da Informação e Ciência de Dados. Reproduzida para fins de estudo.