Pular para o conteúdo principal

Questão de Engenharia de Software — Jenkins — VUNESP 2025

Engenharia de SoftwareJenkins
Código
vu222973
Banca
VUNESP
Órgão
TJM SP
Ano
2025
Cargo
Ana SIJ ( )

Jenkins é uma plataforma de integração e entrega contínua. Nos arquivos Jenkinsfile, define-se um pipeline que segue uma hierarquia específica.

 

Considerando essa hierarquia, assinale a alternativa que apresenta a ordem correta, do nível mais alto ao mais baixo.

  1. APipeline > agent > stage > step > stages.
  2. BPipeline > agent > steps > stage > stages.
  3. CPipeline > agent > steps > stages > stage.
  4. DPipeline > agent > stages > stage > steps.
  5. EPipeline > agent > stages > steps > stage.
Revelar gabarito e comentário

GabaritoD — Pipeline > agent > stages > stage > steps.

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”.

Jenkins: hierarquia do Pipeline Declarativo

Gabarito: letra D. No Jenkins, a hierarquia de um pipeline declarativo, do nível mais alto ao mais baixo, é: Pipeline > agent > stages > stage > steps. Essa é a estrutura de blocos que o Jenkinsfile define para organizar a execução do pipeline, e é exatamente a ordem que a alternativa D apresenta.

O Jenkins é uma ferramenta de automação de código aberto usada para facilitar a integração e entrega contínuas (CI/CD). Ele automatiza tarefas como construção, teste e implantação de software. Para definir como essas tarefas são executadas, o Jenkins utiliza o Jenkinsfile, um arquivo de texto que contém a definição do pipeline. Esse arquivo é escrito em uma linguagem específica chamada Groovy DSL (Domain-Specific Language), que permite estruturar o pipeline de forma hierárquica.

Existem dois tipos principais de pipeline no Jenkins: o Declarativo e o Scripted. O pipeline declarativo é o mais comum e é definido usando uma estrutura de blocos e etapas, que segue uma hierarquia rígida. Essa hierarquia é fundamental para organizar a lógica do pipeline e é o que a questão cobra.

A hierarquia do pipeline declarativo, do nível mais alto para o mais baixo, é:

  1. Pipeline: o bloco raiz que engloba toda a definição do pipeline.

  2. Agent: define onde o pipeline (ou um estágio específico) será executado, como em um nó do Jenkins ou em um contêiner Docker.

  3. Stages: contém um ou mais estágios (stage). É um agrupador lógico.

  4. Stage: representa uma fase do pipeline, como "Build", "Test" ou "Deploy". Cada estágio pode conter passos (steps).

  5. Steps: são as instruções individuais que executam comandos ou ações dentro de um estágio.

Essa estrutura é análoga à de outras ferramentas de CI/CD, como o Azure Pipelines, que também organiza seus pipelines em uma hierarquia de estágios, trabalhos e passos. A diferença está nos nomes e na sintaxe específica de cada ferramenta.

A pegadinha desta questão está em inverter a ordem entre stages e stage, ou entre stage e steps. É comum confundir o agrupador (stages) com o elemento individual (stage), ou colocar os passos (steps) antes do estágio (stage) que os contém. A banca explora exatamente essa confusão nas alternativas.

Guarde a hierarquia Pipeline > agent > stages > stage > steps como um mantra: é ela que separa a alternativa correta das demais.

  1. 1Pipeline
  2. 2Agent
  3. 3Stages
  4. 4Stage
  5. 5Steps
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A ordem apresentada é Pipeline > agent > stage > step > stages. O erro está em colocar stage e step antes de stages. Na hierarquia correta, o agrupador stages vem antes do stage individual, e o stage vem antes dos steps. Esta alternativa inverte a relação de hierarquia entre os elementos.

Alternativa B — ❌ Incorreta

A ordem apresentada é Pipeline > agent > steps > stage > stages. O erro está em colocar steps antes de stage e stages. Os passos (steps) são o nível mais baixo da hierarquia e devem vir por último, dentro de um estágio (stage). Além disso, o agrupador stages deve vir antes do stage individual.

Alternativa C — ❌ Incorreta

A ordem apresentada é Pipeline > agent > steps > stages > stage. O erro está em colocar steps antes de stages e stage. Os passos (steps) são o nível mais baixo e devem vir por último. A ordem correta entre os elementos é stages (agrupador) > stage (individual) > steps (passos).

Alternativa D — ✅ Correta ⟵ GABARITO

A ordem apresentada é Pipeline > agent > stages > stage > steps. Esta é exatamente a hierarquia correta do pipeline declarativo no Jenkins. O bloco pipeline é o nível mais alto, seguido pelo agent, que define onde a execução ocorre. Dentro do pipeline, temos o bloco stages, que agrupa um ou mais stage. Cada stage contém os steps, que são as instruções individuais a serem executadas. Esta alternativa reflete fielmente a estrutura de blocos do Jenkinsfile.

Alternativa E — ❌ Incorreta

A ordem apresentada é Pipeline > agent > stages > steps > stage. O erro está em colocar steps antes de stage. Os passos (steps) são o nível mais baixo da hierarquia e devem estar contidos dentro de um estágio (stage). A ordem correta é stages (agrupador) > stage (individual) > steps (passos).

PEGA ESSA DICA!

Para memorizar a hierarquia do pipeline declarativo, pense na seguinte analogia: o pipeline é a "fábrica" inteira; o agent é o "local" onde a fábrica opera; os stages são as "seções" da fábrica (ex.: montagem, pintura); cada stage é uma "etapa" dentro de uma seção; e os steps são as "ações" individuais dentro de cada etapa. Essa sequência lógica — fábrica > local > seções > etapas > ações — corresponde exatamente a Pipeline > agent > stages > stage > steps.

Gabarito: letra D

Link permanente: /questoes/vu222973