Bird
Raised Fist0
Jenkinsdevops~5 mins

Pipeline stages and steps in Jenkins - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a stage in a Jenkins pipeline?
A stage is a major phase in a Jenkins pipeline that groups related steps together. It helps organize the pipeline into clear sections like Build, Test, and Deploy.
Click to reveal answer
beginner
What is a step in a Jenkins pipeline?
A step is a single task or command executed inside a stage. For example, running a shell command or checking out code.
Click to reveal answer
intermediate
How do stages help in visualizing a Jenkins pipeline?
Stages appear as separate blocks in the Jenkins UI, showing progress and results for each phase. This makes it easy to see where the pipeline is and if any stage failed.
Click to reveal answer
beginner
Write a simple Jenkins pipeline snippet with two stages: Build and Test.
pipeline { agent any stages { stage('Build') { steps { echo 'Building...' } } stage('Test') { steps { echo 'Testing...' } } } }
Click to reveal answer
intermediate
Can steps run outside of stages in a Jenkins pipeline?
No, in declarative pipelines, steps must be inside stages. This keeps the pipeline organized and easy to read.
Click to reveal answer
What does a stage represent in a Jenkins pipeline?
AThe Jenkins server configuration
BA single command to run
CA group of related steps forming a phase
DA plugin for Jenkins
Where do you define steps in a Jenkins declarative pipeline?
AOutside stages
BInside stages
CIn the Jenkins global config
DIn the Jenkinsfile header
Which keyword starts a stage block in Jenkins pipeline syntax?
Astep
Bpipeline
Cbuild
Dstage
What is the purpose of stages in Jenkins pipeline visualization?
AShow progress and results for each phase
BStore pipeline logs
CManage Jenkins plugins
DConfigure Jenkins agents
Which of these is a valid step in a Jenkins pipeline?
Aecho 'Hello World'
Bstage('Build')
Cpipeline { }
Dagent any
Explain the difference between stages and steps in a Jenkins pipeline.
Think of stages as chapters and steps as sentences in a book.
You got /4 concepts.
    Describe how stages improve the clarity and management of a Jenkins pipeline.
    Imagine stages as milestones on a project timeline.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of stages in a Jenkins pipeline?
      easy
      A. To define environment variables
      B. To run shell commands directly
      C. To divide the pipeline into distinct parts for clarity
      D. To store pipeline logs

      Solution

      1. Step 1: Understand the role of stages

        Stages are used to split the pipeline into clear sections, making it easier to read and manage.
      2. Step 2: Differentiate stages from steps

        Steps are the actual commands or actions inside stages, not the division itself.
      3. Final Answer:

        To divide the pipeline into distinct parts for clarity -> Option C
      4. Quick Check:

        Stages divide pipeline parts = C [OK]
      Hint: Stages split pipeline parts; steps run commands inside [OK]
      Common Mistakes:
      • Confusing stages with steps
      • Thinking stages run commands directly
      • Assuming stages store logs
      2. Which of the following is the correct syntax to define a stage named Build in a Jenkins declarative pipeline?
      easy
      A. stages { Build { steps { echo 'Building...' } } }
      B. stage: Build { steps { echo 'Building...' } }
      C. stage { name: 'Build' steps { echo 'Building...' } }
      D. stage('Build') { steps { echo 'Building...' } }

      Solution

      1. Step 1: Recall declarative pipeline stage syntax

        The correct syntax uses stage('Name') { ... } to define a stage.
      2. Step 2: Check the options for correct structure

        stage('Build') { steps { echo 'Building...' } } matches the correct syntax with stage('Build') { steps { ... } }.
      3. Final Answer:

        stage('Build') { steps { echo 'Building...' } } -> Option D
      4. Quick Check:

        Stage syntax uses stage('name') { steps { ... } } = A [OK]
      Hint: Use stage('Name') { steps { ... } } for stages [OK]
      Common Mistakes:
      • Using colon instead of parentheses for stage name
      • Placing stage inside stages incorrectly
      • Missing quotes around stage name
      3. Given this Jenkins pipeline snippet, what will be the output when the pipeline runs?
      pipeline {
        agent any
        stages {
          stage('Test') {
            steps {
              echo 'Running tests'
            }
          }
        }
      }
      medium
      A. Running tests
      B. Build stage executed
      C. Syntax error
      D. No output

      Solution

      1. Step 1: Identify the stage and steps

        The pipeline has one stage named 'Test' with a step that echoes 'Running tests'.
      2. Step 2: Understand echo step output

        The echo step prints the given string to the console output when the pipeline runs.
      3. Final Answer:

        Running tests -> Option A
      4. Quick Check:

        Echo prints 'Running tests' = A [OK]
      Hint: Echo prints text inside steps during stage run [OK]
      Common Mistakes:
      • Thinking stage name prints output
      • Assuming syntax error without checking carefully
      • Expecting output from missing steps
      4. Identify the error in this Jenkins pipeline snippet:
      pipeline {
        agent any
        stages {
          stage('Deploy')
            steps {
              echo 'Deploying app'
            }
        }
      }
      medium
      A. Steps block should be outside stages
      B. Missing curly braces after stage declaration
      C. Echo command syntax error
      D. Incorrect agent declaration

      Solution

      1. Step 1: Check stage syntax

        The stage block must have curly braces enclosing its content: stage('Deploy') { ... }.
      2. Step 2: Identify missing braces

        In the snippet, the stage declaration lacks opening and closing braces around steps.
      3. Final Answer:

        Missing curly braces after stage declaration -> Option B
      4. Quick Check:

        Stage needs braces { } = D [OK]
      Hint: Always use braces {} after stage('name') [OK]
      Common Mistakes:
      • Forgetting braces after stage name
      • Placing steps outside stages block
      • Misunderstanding agent syntax
      5. You want to create a Jenkins pipeline with two stages: Build and Test. The Test stage should only run if the Build stage succeeds. Which pipeline snippet correctly implements this logic?
      hard
      A. pipeline { agent any stages { stage('Build') { steps { echo 'Building...' } } stage('Test') { steps { echo 'Testing...' } } } }
      B. pipeline { agent any stages { stage('Build') { steps { echo 'Building...' } } stage('Test') { when { expression { currentBuild.result == 'SUCCESS' } } steps { echo 'Testing...' } } } }
      C. pipeline { agent any stages { stage('Build') { steps { echo 'Building...' } } stage('Test') { when { branch 'main' } steps { echo 'Testing...' } } } }
      D. pipeline { agent any stages { stage('Build') { steps { echo 'Building...' } } stage('Test') { steps { echo 'Testing...' } } } post { success { echo 'Build succeeded' } } }

      Solution

      1. Step 1: Understand conditional stage execution

        Jenkins declarative pipelines run stages sequentially by default. If the Build stage fails, the Test stage is skipped.
      2. Step 2: Check the snippet with sequential stages

        pipeline {
          agent any
          stages {
            stage('Build') {
              steps {
                echo 'Building...'
              }
            }
            stage('Test') {
              steps {
                echo 'Testing...'
              }
            }
          }
        }
      3. Step 3: Verify distractors

        The snippet with when { expression { currentBuild.result == 'SUCCESS' } } uses the correct property result instead of currentResult.
        The snippet with when { branch 'main' } conditions on Git branch.
        The snippet with post { success { ... } } adds an unrelated post-action block.
      4. Final Answer:

        pipeline { agent any stages { stage('Build') { steps { echo 'Building...' } } stage('Test') { steps { echo 'Testing...' } } } } -> Option A
      5. Quick Check:

        Sequential stages run conditionally by default = A [OK]
      Hint: Stages run sequentially by default; failure skips subsequent stages [OK]
      Common Mistakes:
      • Using invalid when expression syntax
      • Conditioning on branch instead of stage success
      • Adding unnecessary post blocks
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard