Bird
Raised Fist0
Jenkinsdevops~5 mins

CI/CD tools landscape in Jenkins - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does CI/CD stand for in software development?
CI/CD stands for Continuous Integration and Continuous Delivery (or Continuous Deployment). It is a method to frequently deliver apps to customers by introducing automation into the stages of app development.
Click to reveal answer
beginner
Name three popular CI/CD tools used in the industry.
Popular CI/CD tools include Jenkins, GitLab CI, and CircleCI. Each helps automate building, testing, and deploying software.
Click to reveal answer
beginner
What is Jenkins and why is it widely used?
Jenkins is an open-source automation server that helps automate parts of software development related to building, testing, and deploying. It is popular because it is free, highly customizable, and supports many plugins.
Click to reveal answer
intermediate
How does Continuous Integration improve software quality?
Continuous Integration encourages developers to merge code changes frequently. Automated tests run on each merge, catching bugs early and reducing integration problems.
Click to reveal answer
intermediate
What is the difference between Continuous Delivery and Continuous Deployment?
Continuous Delivery means code changes are automatically prepared for release but require manual approval to deploy. Continuous Deployment automatically releases every change that passes tests to production without manual steps.
Click to reveal answer
Which tool is an open-source automation server commonly used for CI/CD?
AJenkins
BPhotoshop
CSlack
DExcel
What is the main goal of Continuous Integration?
ADeploy code manually
BMerge code frequently and run automated tests
CWrite documentation
DDesign user interfaces
Which of the following is NOT a CI/CD tool?
AMicrosoft Word
BGitLab CI
CJenkins
DCircleCI
What does Continuous Delivery require before deploying to production?
AAutomatic deployment
BNo testing
CManual approval
DWriting code
Why are plugins important in Jenkins?
AThey delete code
BThey slow down the server
CThey change the user interface color
DThey add extra features and integrations
Explain the basic workflow of a CI/CD pipeline using Jenkins.
Think about what happens from code change to deployment.
You got /4 concepts.
    List and describe the main benefits of using CI/CD tools in software development.
    Consider how automation helps developers and teams.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of CI/CD tools like Jenkins in software development?
      easy
      A. To design user interfaces
      B. To write code manually
      C. To automate building, testing, and deploying software
      D. To manage hardware resources

      Solution

      1. Step 1: Understand CI/CD tools role

        CI/CD tools automate repetitive tasks in software development like building, testing, and deploying.
      2. Step 2: Compare options

        Options B, C, and D describe unrelated tasks. Only To automate building, testing, and deploying software matches the automation purpose.
      3. Final Answer:

        To automate building, testing, and deploying software -> Option C
      4. Quick Check:

        CI/CD tools automate software delivery = A [OK]
      Hint: CI/CD tools automate software delivery steps [OK]
      Common Mistakes:
      • Confusing CI/CD tools with coding or design tools
      • Thinking CI/CD tools manage hardware
      • Assuming CI/CD tools replace developers
      2. Which of the following is the correct way to define a stage in a Jenkins pipeline?
      easy
      A. stage('Build') { steps { echo 'Building...' } }
      B. step('Build') { echo 'Building...' }
      C. stage: Build { echo 'Building...' }
      D. buildStage { echo 'Building...' }

      Solution

      1. Step 1: Recall Jenkins pipeline syntax

        Jenkins uses stage('name') { steps { ... } } to define stages.
      2. Step 2: Check options for correct syntax

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

        <code>stage('Build') { steps { echo 'Building...' } }</code> -> Option A
      4. Quick Check:

        Correct Jenkins stage syntax = C [OK]
      Hint: Stages use stage('name') with steps block [OK]
      Common Mistakes:
      • Using 'step' instead of 'stage'
      • Missing the steps block inside stage
      • Incorrect block syntax with colons or missing braces
      3. Given this Jenkins pipeline snippet, what will be printed during the 'Test' stage?
      pipeline {
        agent any
        stages {
          stage('Build') {
            steps { echo 'Building...' }
          }
          stage('Test') {
            steps { echo 'Testing...' }
          }
        }
      }
      medium
      A. Testing... Building...
      B. Testing...
      C. Building...
      D. Building... Testing...

      Solution

      1. Step 1: Understand pipeline stage order

        The pipeline runs stages in order: 'Build' then 'Test'.
      2. Step 2: Identify echo outputs

        'Build' stage prints 'Building...', 'Test' stage prints 'Testing...'. Both run sequentially.
      3. Final Answer:

        Building... Testing... -> Option D
      4. Quick Check:

        Stages run in order, print messages in sequence = B [OK]
      Hint: Stages run sequentially, outputs print in order [OK]
      Common Mistakes:
      • Assuming stages run in parallel by default
      • Mixing output order
      • Ignoring all stages run unless skipped
      4. Identify the error in this Jenkins pipeline snippet:
      pipeline {
        agent any
        stages {
          stage('Deploy') {
            step { echo 'Deploying...' }
          }
        }
      }
      medium
      A. The keyword should be 'steps' not 'step'
      B. Missing agent declaration
      C. Stage name must be lowercase
      D. Echo command is invalid

      Solution

      1. Step 1: Check pipeline syntax for stages

        Inside a stage, the correct block is steps (plural), not step.
      2. Step 2: Verify other parts

        Agent is declared, stage name case is allowed, echo is valid. Only 'step' is wrong.
      3. Final Answer:

        The keyword should be 'steps' not 'step' -> Option A
      4. Quick Check:

        Use 'steps' block inside stage = A [OK]
      Hint: Inside stage use 'steps' plural block [OK]
      Common Mistakes:
      • Using 'step' instead of 'steps'
      • Thinking stage names must be lowercase
      • Assuming echo is not allowed
      5. You want to create a Jenkins pipeline that builds, tests, and deploys only if tests pass. Which approach best fits this CI/CD workflow?
      hard
      A. Skip Test stage and deploy immediately after Build
      B. Define sequential stages: Build, Test, Deploy; Deploy runs only if Test succeeds
      C. Deploy first, then Build and Test in any order
      D. Run Build and Deploy stages in parallel, then Test last

      Solution

      1. Step 1: Understand CI/CD workflow logic

        Tests must pass before deploying to avoid broken releases.
      2. Step 2: Choose pipeline structure

        Sequential stages Build -> Test -> Deploy ensure deploy runs only if tests succeed.
      3. Step 3: Evaluate other options

        Parallel or skipping tests risks deploying broken code; deploying first is illogical.
      4. Final Answer:

        Define sequential stages: Build, Test, Deploy; Deploy runs only if Test succeeds -> Option B
      5. Quick Check:

        Sequential stages with test gate = D [OK]
      Hint: Deploy only after successful tests in sequence [OK]
      Common Mistakes:
      • Running deploy before tests
      • Skipping tests to save time
      • Running build and deploy in parallel
      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