Bird
Raised Fist0
Jenkinsdevops~15 mins

Poll SCM configuration in Jenkins - Mini Project: Build & Apply

Choose your learning style10 modes available
Poll SCM Configuration in Jenkins
📖 Scenario: You are setting up a Jenkins job to automatically check for changes in your source code repository. This helps Jenkins know when to start a new build without manual intervention.Polling SCM means Jenkins will look at the repository at regular intervals to see if there are any new changes.
🎯 Goal: Configure a Jenkins job to poll the SCM repository every 5 minutes using the correct cron syntax.You will create the polling schedule, add it to the job configuration, and verify the polling setup.
📋 What You'll Learn
Create a variable called poll_schedule with the cron expression for every 5 minutes
Add the poll_schedule variable to the Jenkins job configuration under scm polling
Use the exact cron syntax H/5 * * * * for polling every 5 minutes
Print the polling schedule to confirm the setup
💡 Why This Matters
🌍 Real World
Polling SCM in Jenkins automates build triggers by checking for code changes regularly, saving time and reducing manual work.
💼 Career
Understanding Poll SCM configuration is essential for DevOps engineers and Jenkins administrators to maintain continuous integration pipelines.
Progress0 / 4 steps
1
Create the polling schedule variable
Create a variable called poll_schedule and set it to the string "H/5 * * * *" which means polling every 5 minutes.
Jenkins
Hint

The cron expression H/5 * * * * tells Jenkins to poll every 5 minutes.

2
Add polling schedule to Jenkins job configuration
Create a dictionary called jenkins_job_config with a key scm_polling set to the value of the variable poll_schedule.
Jenkins
Hint

The Jenkins job configuration dictionary should have the key scm_polling with the polling schedule as its value.

3
Verify the polling schedule in the job config
Write a for loop using variables key and value to iterate over jenkins_job_config.items(). Inside the loop, print the key and value separated by a colon and a space.
Jenkins
Hint

Use for key, value in jenkins_job_config.items(): to loop through the dictionary and print each key and value.

4
Display the polling schedule output
Write a print statement to display the value of poll_schedule exactly as it is.
Jenkins
Hint

Use print(poll_schedule) to show the polling schedule string.

Practice

(1/5)
1.

What is the main purpose of the Poll SCM option in Jenkins?

easy
A. To send notifications when a build fails
B. To manually start a build whenever you want
C. To deploy the application automatically after every build
D. To regularly check the source code repository for changes and trigger builds if changes are found

Solution

  1. Step 1: Understand Poll SCM function

    Poll SCM is designed to check the source code repository at regular intervals for any new changes.
  2. Step 2: Identify the trigger action

    When changes are detected, Jenkins triggers a build automatically.
  3. Final Answer:

    To regularly check the source code repository for changes and trigger builds if changes are found -> Option D
  4. Quick Check:

    Poll SCM triggers builds on repo changes [OK]
Hint: Poll SCM triggers builds only when repo changes appear [OK]
Common Mistakes:
  • Confusing Poll SCM with manual build triggers
  • Thinking Poll SCM deploys code automatically
  • Assuming Poll SCM sends notifications
2.

Which of the following is the correct way to set a Poll SCM schedule to check every 15 minutes in Jenkins?

easy
A. */15 * * * *
B. 0 */15 * * *
C. 0 15 * * *
D. 15 * * * *

Solution

  1. Step 1: Understand cron syntax for every 15 minutes

    The syntax "*/15 * * * *" means every 15 minutes at minute 0, 15, 30, 45.
  2. Step 2: Compare options

    0 */15 * * * "0 */15 * * *" polls at minute 0 every 15 hours (e.g., 00:00, 15:00); A is standard cron for every 15 minutes; Options C and D specify fixed times, not every 15 minutes.
  3. Final Answer:

    */15 * * * * -> Option A
  4. Quick Check:

    */15 means every 15 minutes [OK]
Hint: Use */15 in first field for every 15 minutes polling [OK]
Common Mistakes:
  • Using fixed minute values instead of intervals
  • Putting interval */15 in the hour field instead of minute field
  • Setting wrong fields for minutes
3.

Given the Poll SCM schedule H/10 * * * *, what will Jenkins do?

medium
A. Poll the SCM every 10 minutes starting exactly at minute 0
B. Poll the SCM only once every hour at minute 10
C. Poll the SCM every 10 minutes starting at a random minute each hour
D. Poll the SCM every 10 seconds

Solution

  1. Step 1: Understand Jenkins H/ syntax

    The 'H' means Jenkins picks a random minute to spread load; 'H/10' means every 10 minutes starting from that random minute.
  2. Step 2: Interpret the schedule

    Jenkins polls SCM every 10 minutes but start time varies per job to avoid all jobs polling simultaneously.
  3. Final Answer:

    Poll the SCM every 10 minutes starting at a random minute each hour -> Option C
  4. Quick Check:

    H/10 means every 10 minutes from random start [OK]
Hint: H/10 means every 10 minutes from random start minute [OK]
Common Mistakes:
  • Thinking H/10 starts exactly at minute 0
  • Confusing seconds with minutes
  • Assuming polling happens only once per hour
4.

You set Poll SCM with schedule H/5 * * * * but Jenkins never triggers builds even when code changes. What is the most likely cause?

medium
A. The Poll SCM schedule syntax is invalid
B. The repository URL is incorrect or unreachable
C. Polling triggers builds even without changes
D. Jenkins does not support Poll SCM for Git repositories

Solution

  1. Step 1: Check Poll SCM schedule validity

    Schedule 'H/5 * * * *' is valid and means poll every 5 minutes.
  2. Step 2: Identify why builds don't trigger

    If no builds trigger despite changes, likely Jenkins cannot access the repo to detect changes.
  3. Final Answer:

    The repository URL is incorrect or unreachable -> Option B
  4. Quick Check:

    Unreachable repo stops polling builds [OK]
Hint: Check repo URL if Poll SCM triggers no builds [OK]
Common Mistakes:
  • Assuming Poll SCM triggers builds without changes
  • Blaming schedule syntax when it's correct
  • Thinking Jenkins can't poll Git repos
5.

You want Jenkins to poll your Git repository only during office hours (9 AM to 5 PM) every 30 minutes. Which Poll SCM schedule should you use?

hard
A. H/30 9-16 * * *
B. H/30 9-17 * * *
C. H/30 9-18 * * *
D. H/30 8-17 * * *

Solution

  1. Step 1: Understand hour range in cron

    Hours are 0-23; '9-16' covers 9:00 to 16:59 (9 AM to 4:59 PM), matching office hours 9 AM to 5 PM excluding the 5 PM hour.
  2. Step 2: Match office hours 9 AM to 5 PM

    9-16 includes up to 4:59 PM; 9-17 includes the full 5 PM hour (up to 5:59 PM).
  3. Step 3: Confirm polling every 30 minutes

    H/30 means every 30 minutes starting at a hashed minute.
  4. Final Answer:

    H/30 9-16 * * * -> Option A
  5. Quick Check:

    9-16 hours covers 9 AM to 4:59 PM [OK]
Hint: Use hour range 9-16 for 9 AM to 5 PM polling excluding 5 PM hour [OK]
Common Mistakes:
  • Using 9-17 which includes the 5 PM hour
  • Confusing hour ranges in cron syntax
  • Forgetting H/30 means every 30 minutes
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