0
0
Jenkinsdevops~10 mins

Failing fast principle in Jenkins - Step-by-Step Execution

Choose your learning style9 modes available
Process Flow - Failing fast principle
Start Pipeline
Run Step 1
Step 1 Success?
NoFail Fast: Stop Pipeline
Yes
Run Step 2
Step 2 Success?
NoFail Fast: Stop Pipeline
Yes
Continue Steps or Finish
The pipeline runs steps one by one. If any step fails, it stops immediately to save time and resources.
Execution Sample
Jenkins
pipeline {
  agent any
  stages {
    stage('Build') {
      steps {
        sh 'exit 1' // simulate failure
      }
    }
    stage('Test') {
      steps {
        sh 'echo "Test stage skipped due to Build failure"'
      }
    }
  }
}
This Jenkins pipeline has a Build stage that fails immediately ('exit 1'). The subsequent Test stage is skipped, demonstrating the fail fast principle.
Process Table
StepActionResultPipeline Status
1Start pipelinePipeline startedRunning
2Run Build stageCommand 'exit 1' executedRunning
3Check Build resultFailure detectedFail Fast: Pipeline stopped
4No further stages runPipeline terminated earlyStopped
💡 Build stage failed, so pipeline stopped immediately due to fail fast principle
Status Tracker
VariableStartAfter Step 1After Step 2Final
pipeline_statusNot startedRunningRunningStopped
build_stage_resultNot runFailureNot runFailure
Key Moments - 2 Insights
Why does the pipeline stop immediately after the build stage fails?
Because of the fail fast principle, the pipeline stops at the first failure to avoid wasting time on later steps. See execution_table row 3.
What happens if the build stage succeeds?
If the build stage succeeds, the pipeline continues to the next stages. This is shown by the 'Yes' path in the concept_flow.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the pipeline status after step 2?
ARunning
BStopped
CFailed but continuing
DNot started
💡 Hint
Check the 'Pipeline Status' column at step 2.
At which step does the pipeline detect failure and stop?
AStep 2
BStep 3
CStep 1
DStep 4
💡 Hint
Look at the 'Result' column where failure is detected and pipeline stops.
If the build command was 'exit 0' instead of 'exit 1', what would happen?
APipeline stops immediately
BPipeline fails later
CPipeline continues to next stages
DPipeline status is unknown
💡 Hint
Refer to the concept_flow where success leads to continuing the pipeline.
Concept Snapshot
Failing Fast Principle in Jenkins Pipeline:
- Pipeline runs stages sequentially.
- If any stage fails, pipeline stops immediately.
- Saves time and resources by not running unnecessary steps.
- Use 'exit 1' in shell to simulate failure.
- Helps catch errors early and fix quickly.
Full Transcript
The failing fast principle means stopping a Jenkins pipeline as soon as a failure happens. The pipeline starts and runs the first stage. If the stage succeeds, it moves on. If it fails, like with 'exit 1' command, the pipeline stops immediately. This saves time by not running later steps that depend on success. The execution table shows the pipeline starting, running the build stage, detecting failure, and stopping. Variables track the pipeline status changing from running to stopped. This principle helps catch problems early and avoid wasting resources.