Bird
Raised Fist0
Jenkinsdevops~5 mins

Options directive (timeout, retry) in Jenkins - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the timeout option do in a Jenkins pipeline?
The timeout option stops the pipeline if it runs longer than the specified time. This helps avoid stuck or slow builds.
Click to reveal answer
beginner
How does the retry option help in Jenkins pipelines?
The retry option tries to run a block of steps again if they fail, up to a set number of times. It helps handle temporary errors.
Click to reveal answer
intermediate
Show a simple Jenkins pipeline snippet using timeout and retry options.
pipeline { options { timeout(time: 10, unit: 'MINUTES') } stages { stage('Build') { steps { retry(3) { echo 'Building...' } } } } }
Click to reveal answer
beginner
What happens if a Jenkins pipeline step exceeds the timeout duration?
Jenkins stops the pipeline and marks it as failed. This prevents wasting resources on stuck or very slow builds.
Click to reveal answer
intermediate
Can the retry option be used inside a specific stage or only globally in Jenkins pipelines?
The retry option can be used inside specific stages or steps to retry only that part, or globally to retry the whole pipeline block.
Click to reveal answer
What does the Jenkins timeout option control?
ANumber of times to retry a failed step
BMaximum time a pipeline or stage can run before stopping
CThe delay between pipeline runs
DThe number of parallel builds allowed
How many times will Jenkins retry a step if retry(3) is set and the step keeps failing?
A4 times
B2 times
C1 time
D3 times
Where can the timeout option be placed in a Jenkins pipeline?
AOnly inside stages
BOnly inside steps
CInside the options block at pipeline or stage level
DOnly in the Jenkins global configuration
What happens if a step fails but no retry option is set?
AThe pipeline fails immediately
BThe pipeline pauses for manual input
CJenkins retries automatically once
DThe pipeline ignores the failure
Which unit can be used with the Jenkins timeout option?
AAll of the above
BMINUTES
CHOURS
DSECONDS
Explain how the timeout and retry options improve Jenkins pipeline reliability.
Think about how these options prevent failures and delays.
You got /4 concepts.
    Describe where and how to use the timeout and retry options in a Jenkins pipeline script.
    Consider the syntax and placement in the Jenkinsfile.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of the timeout option in a Jenkins pipeline?
      easy
      A. To stop a build if it runs longer than a specified time
      B. To retry a failed build step multiple times
      C. To schedule a build at a specific time
      D. To increase the build's priority in the queue

      Solution

      1. Step 1: Understand the role of timeout

        The timeout option is used to limit how long a build or step can run.
      2. Step 2: Identify the effect of timeout

        If the build runs longer than the set time, Jenkins stops it to save resources.
      3. Final Answer:

        To stop a build if it runs longer than a specified time -> Option A
      4. Quick Check:

        Timeout = stop long builds [OK]
      Hint: Timeout stops builds running too long [OK]
      Common Mistakes:
      • Confusing timeout with retry
      • Thinking timeout schedules builds
      • Assuming timeout increases priority
      2. Which of the following is the correct syntax to set a retry of 3 times in a Jenkins pipeline options block?
      easy
      A. options { retry(3); }
      B. options { retry 3 }
      C. options { retry(3) {} }
      D. options { retry(3) }

      Solution

      1. Step 1: Recall Jenkins options syntax

        The correct syntax uses retry(3) inside the options block without extra braces.
      2. Step 2: Identify the valid option

        options { retry(3) } matches the correct syntax exactly: options { retry(3) }.
      3. Final Answer:

        options { retry(3) } -> Option D
      4. Quick Check:

        Retry syntax = retry(3) inside options [OK]
      Hint: Use retry(3) inside options block without extra braces [OK]
      Common Mistakes:
      • Adding extra braces after retry(3)
      • Using retry without parentheses
      • Placing retry outside options block
      3. Given this Jenkins pipeline snippet:
      options {
        timeout(time: 5, unit: 'MINUTES')
        retry(2)
      }
      
      stage('Test') {
        steps {
          script {
            def count = 0
            retry(2) {
              count++
              if (count < 3) {
                error('Fail')
              }
            }
            echo "Count is ${count}"
          }
        }
      }

      What will be the output of the echo command?
      medium
      A. Count is 1
      B. Count is 2
      C. Count is 3
      D. Build fails before echo

      Solution

      1. Step 1: Understand retry behavior in script

        The inner retry(2) block retries the enclosed code up to 2 times on failure.
      2. Step 2: Trace the count increments and errors

        First run: count=1, error thrown (count<3). Retry 1: count=2, error thrown. Retry 2: count=3, no error, exits retry.
      3. Step 3: Determine echo output

        After retries, count is 3, so echo "Count is 3" runs.
      4. Final Answer:

        Count is 3 -> Option C
      5. Quick Check:

        Retry runs until count=3, then echo prints count [OK]
      Hint: Count increments on each retry until no error [OK]
      Common Mistakes:
      • Assuming retry runs only once
      • Thinking count resets on retry
      • Ignoring retry inside script block
      4. You wrote this Jenkins pipeline options block:
      options {
        timeout(10)
        retry(3)
      }

      But the build fails with a syntax error. What is the problem?
      medium
      A. timeout requires both time and unit parameters
      B. retry cannot be used inside options block
      C. timeout value must be a string, not a number
      D. retry requires a block after the number

      Solution

      1. Step 1: Check timeout syntax requirements

        The timeout option requires named parameters: time and unit.
      2. Step 2: Identify missing parameters

        Using timeout(10) alone is invalid; it must be timeout(time: 10, unit: 'MINUTES').
      3. Final Answer:

        timeout requires both time and unit parameters -> Option A
      4. Quick Check:

        Timeout needs time and unit named params [OK]
      Hint: Timeout needs time and unit named parameters [OK]
      Common Mistakes:
      • Passing only a number to timeout
      • Thinking retry needs a block
      • Confusing timeout value types
      5. You want to create a Jenkins pipeline that stops if it runs longer than 2 minutes and retries the entire build up to 2 times if it fails. Which options block correctly implements this?
      hard
      A. options { timeout(time: 2, unit: 'MINUTES') { retry(2) } }
      B. options { timeout(time: 2, unit: 'MINUTES') retry(2) }
      C. options { timeout(2) retry(2) }
      D. options { retry(2) timeout(2, 'MINUTES') }

      Solution

      1. Step 1: Set timeout correctly

        Timeout must use named parameters: time: 2, unit: 'MINUTES'.
      2. Step 2: Add retry correctly

        Retry is a separate option inside the options block: retry(2).
      3. Step 3: Validate options block structure

        options { timeout(time: 2, unit: 'MINUTES') retry(2) } correctly lists both options without nesting or syntax errors.
      4. Final Answer:

        options { timeout(time: 2, unit: 'MINUTES') retry(2) } -> Option B
      5. Quick Check:

        Timeout and retry as separate options inside options block [OK]
      Hint: Use named params for timeout and separate retry inside options [OK]
      Common Mistakes:
      • Nesting retry inside timeout block
      • Using timeout without named params
      • Wrong parameter order or types
      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