Bird
Raised Fist0
Jenkinsdevops~20 mins

What is Continuous Delivery vs Continuous Deployment in Jenkins - Practice Questions & Exercises

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Continuous Delivery & Deployment Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Difference between Continuous Delivery and Continuous Deployment

Which statement correctly describes the difference between Continuous Delivery and Continuous Deployment in a Jenkins pipeline?

AContinuous Delivery automatically deploys every change to production without manual approval, while Continuous Deployment requires manual approval before production deployment.
BContinuous Delivery skips automated testing and deploys code directly to production; Continuous Deployment includes automated testing before deployment.
CContinuous Delivery ensures code changes are automatically tested and ready for deployment, but deployment to production requires manual approval; Continuous Deployment automatically deploys every change to production without manual approval.
DContinuous Delivery and Continuous Deployment are the same and both require manual approval before production deployment.
Attempts:
2 left
💡 Hint

Think about whether production deployment happens automatically or needs a manual step.

🔀 Workflow
intermediate
2:00remaining
Jenkins Pipeline Step for Continuous Delivery

In a Jenkins pipeline, which step best represents the manual approval process typical in Continuous Delivery before deploying to production?

Astage('Deploy to Production') { steps { sh 'deploy.sh' } }
Binput 'Approve deployment to production?'; stage('Deploy to Production') { steps { sh 'deploy.sh' } }
Cstage('Deploy to Production') { steps { sh 'deploy.sh' } } post { always { input 'Approve deployment?' } }
Dstage('Deploy to Production') { steps { input 'Approve deployment?'; sh 'deploy.sh' } }
Attempts:
2 left
💡 Hint

Look for the step that pauses the pipeline and waits for manual approval before deployment.

💻 Command Output
advanced
2:00remaining
Jenkins Pipeline Output for Continuous Deployment

Given this Jenkins pipeline snippet for Continuous Deployment, what will be the output after a successful build and test?

pipeline {
  agent any
  stages {
    stage('Build') {
      steps { echo 'Building...' }
    }
    stage('Test') {
      steps { echo 'Testing...' }
    }
    stage('Deploy') {
      steps { echo 'Deploying to production...' }
    }
  }
}
A
Building...
Testing...
Deploying to production...
B
Building...
Testing...
Pipeline paused for manual approval
C
Building...
Testing...
Deployment skipped
DBuild failed, deployment not started
Attempts:
2 left
💡 Hint

Continuous Deployment means deployment happens automatically after tests pass.

❓ Troubleshoot
advanced
2:00remaining
Pipeline Stuck Waiting for Approval

A Jenkins pipeline configured for Continuous Delivery is stuck and not progressing past the deployment stage. The pipeline script includes an input step before deployment. What is the most likely cause?

AThe <code>input</code> step is waiting for manual approval which has not been given yet.
BThe deployment script has a syntax error causing the pipeline to hang.
CThe Jenkins agent is offline, so the pipeline cannot continue.
DThe pipeline is missing the <code>stage</code> keyword before deployment.
Attempts:
2 left
💡 Hint

Think about what the input step does in a pipeline.

✅ Best Practice
expert
3:00remaining
Best Practice for Safe Continuous Deployment

Which Jenkins pipeline practice best supports safe Continuous Deployment to production?

ADeploy to production only once a month to reduce risk.
BRequire manual approval for every deployment to production to avoid mistakes.
CDeploy to production immediately after build without running tests to save time.
DRun automated tests and deploy only if all tests pass, with monitoring and rollback steps included.
Attempts:
2 left
💡 Hint

Consider automation combined with safety measures in Continuous Deployment.

Practice

(1/5)
1. What is the main difference between Continuous Delivery and Continuous Deployment?
easy
A. Continuous Delivery only builds code, Continuous Deployment only tests code.
B. Continuous Delivery deploys every change automatically, Continuous Deployment requires manual approval.
C. Continuous Delivery requires manual approval before production deployment, Continuous Deployment does not.
D. Continuous Delivery and Continuous Deployment are exactly the same.

Solution

  1. Step 1: Understand Continuous Delivery

    Continuous Delivery automates preparing the software for release but waits for a manual step to deploy to production.
  2. Step 2: Understand Continuous Deployment

    Continuous Deployment automates the entire process, including automatic deployment to production without manual approval.
  3. Final Answer:

    Continuous Delivery requires manual approval before production deployment, Continuous Deployment does not. -> Option C
  4. Quick Check:

    Manual approval = Continuous Delivery [OK]
Hint: Manual step means Continuous Delivery, no manual means Continuous Deployment [OK]
Common Mistakes:
  • Confusing which process needs manual approval
  • Thinking both deploy automatically
  • Mixing build and deploy steps
2. Which Jenkins pipeline step is typically used to pause for manual approval in Continuous Delivery?
easy
A. input
B. deploy
C. build
D. test

Solution

  1. Step 1: Identify Jenkins step for manual pause

    The input step in Jenkins pipeline pauses the pipeline and waits for user approval.
  2. Step 2: Confirm other steps roles

    deploy runs deployment, build compiles code, test runs tests, none pause for approval.
  3. Final Answer:

    input -> Option A
  4. Quick Check:

    Manual approval step = input [OK]
Hint: Pause for approval uses 'input' step in Jenkins [OK]
Common Mistakes:
  • Choosing deploy as manual step
  • Confusing build or test with approval
  • Not knowing Jenkins pipeline steps
3. Given this Jenkins pipeline snippet for Continuous Delivery:
stage('Deploy to Prod') {
  steps {
    input 'Approve deployment?'
    sh 'deploy.sh'
  }
}

What happens when this pipeline reaches the Deploy to Prod stage?
medium
A. The pipeline pauses and waits for manual approval before running deployment.
B. The pipeline fails with a syntax error.
C. The pipeline skips deployment and ends.
D. The deployment script runs immediately without pause.

Solution

  1. Step 1: Analyze the input step in the stage

    The input 'Approve deployment?' pauses the pipeline and waits for a user to approve before continuing.
  2. Step 2: Understand what happens after approval

    After approval, the shell script deploy.sh runs to deploy the application.
  3. Final Answer:

    The pipeline pauses and waits for manual approval before running deployment. -> Option A
  4. Quick Check:

    input step causes pause = The pipeline pauses and waits for manual approval before running deployment. [OK]
Hint: input step pauses pipeline until approval [OK]
Common Mistakes:
  • Assuming deploy runs immediately
  • Thinking pipeline skips deployment
  • Confusing syntax error with input step
4. You have a Jenkins pipeline intended for Continuous Deployment but it includes this code:
stage('Deploy') {
  steps {
    input 'Approve deployment?'
    sh 'deploy.sh'
  }
}

What is the problem if you want full Continuous Deployment?
medium
A. The pipeline syntax is invalid and will fail.
B. The input step causes manual approval, breaking full automation.
C. The deploy.sh script is missing required parameters.
D. The stage name should be 'Continuous Deployment' instead of 'Deploy'.

Solution

  1. Step 1: Identify manual approval in pipeline

    The input step pauses for manual approval, which is not allowed in full Continuous Deployment.
  2. Step 2: Understand Continuous Deployment automation

    Continuous Deployment requires no manual steps; every change deploys automatically.
  3. Final Answer:

    The input step causes manual approval, breaking full automation. -> Option B
  4. Quick Check:

    Manual approval breaks Continuous Deployment [OK]
Hint: No manual steps allowed in Continuous Deployment [OK]
Common Mistakes:
  • Thinking syntax error causes failure
  • Assuming deploy.sh script is the problem
  • Confusing stage name with functionality
5. You want to convert a Jenkins pipeline from Continuous Delivery to Continuous Deployment. Which change should you make?
hard
A. Rename the pipeline to 'Continuous Deployment' without changing steps.
B. Add more manual approval steps to ensure safety.
C. Change the build step to run tests only.
D. Remove the manual input approval step so deployment runs automatically.

Solution

  1. Step 1: Identify manual approval in Continuous Delivery

    Continuous Delivery pipelines pause for manual approval using the input step.
  2. Step 2: Remove manual approval for Continuous Deployment

    To achieve Continuous Deployment, remove the input step so deployment happens automatically after tests.
  3. Final Answer:

    Remove the manual input approval step so deployment runs automatically. -> Option D
  4. Quick Check:

    Remove manual steps for Continuous Deployment [OK]
Hint: Remove input step to automate deployment fully [OK]
Common Mistakes:
  • Adding manual steps instead of removing
  • Changing unrelated build steps
  • Only renaming pipeline without changing logic
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