Open In App

What Is Poll SCM Jenkins ?, And How To Configure Poll Scm ?

Last Updated : 01 Mar, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Jenkins is one of the most popular open-source automation servers that provides an interface for building, testing, and deploying code. One of its essential key features is that it can trigger builds automatically based on the changes made in the source code repository. This process is known as polling SCM (Source Code Management). In this article, we will be going to discuss Poll SCM and how we can configure Poll SCM in Jenkins in detail.

What is Poll SCM?

Poll SCM provides a mechanism in Jenkins that periodically checks the changes that are made in the source code repository. When any changes are detected, Jenkins triggers the build and also facilitates continuous integration and automated testing. It ensures that the changes in the code are consistently integrated and tested, which also helps developers get quick feedback and make changes in case of any bugs.

The polling process compares the current state of the repository with the previous state to identify any changes. This is very useful in scenarios where continuous integration is required, and where builds have to be triggered automatically when any changes are pushed into the repository.

Benefits of using Poll SCM in Jenkins

There are several benefits to using Poll SCM in Jenkins:

  • It automatically detects changes in the source code repository.
  • Poll SCM in Jenkin immediately triggers builds on new commits.
  • It ensures continuous integration and testing for improved code quality.
  • Early identification of integration issues.

Example:

Suppose you are using a Git as your version control system, and you want Jenkins to poll for changes in every five minutes. To do so go to the “Build Triggers” section, and check “Poll SCM” and set the schedule to H/5 * * * *.

Difference between Poll Scm, Build Periodically, and Webhooks

The difference between Poll scm, build periodically, and webhooks is as follow:

Poll SCM

Build Periodically

Webhooks

Poll SCM periodically checks the repositories for changes.

It initiates builds on fixed time intervals.

Webhooks receive direct notifications from the VCS.

Changes in the git repository trigger the builds.

Time-based schedule triggers the builds.

Real-time triggers based on VCS events.

It have a simple configuration with a polling schedule.

It requires setting up of the cron syntax for intervals.

In Webhooks configuration mainly require setting up

webhook URLs.

It works with various version control systems.

It is Independent of the VCS, and only relies on time intervals.

It depends on VCS support for webhooks.

It uses resources only when the changes occurs.

It continuously consumes resources at scheduled intervals.

It efficiently uses resources only trigger when changes occur.

It is use for projects with infrequent code changes.

It is use for scheduled maintenance and integration testing.

It is use for real-time integration, and to get quick feedback on code changes.

How to configure Poll Scm in Jenkins

To configure Poll Scm in Jenkins follow the given steps below:

Step 1: Login to Jenkins Dashboard

This is first step to configure Poll Scm in Jenkins, login to your Jenkins dashboard using your user id and password.

Login-to-jenkin

Login to your Jenkins Dashboard

Step 2: Create or Select a Job

Now after login to Jenkins dashboard , choose a job in Jenkins or either create a new one.

Step 3: Configure Poll Scm

After selecting the Job, Navigate to the left side of the panel and choose the configure option.

Click-on-Configure

Click on Configure

Now , Navigate to the build trigger section , and check the the poll scm.

Click-on-Poll-Scm-Checkbox

Click on Poll Scm Checkbox

Step 4: Cron Expression

Enter the cron expression, suppose you want Jenkins to check the changes in every 15 minutes . You can write a cron expression for it as follow:

 H/15 * * * *
enter-cron-expression

enter cron expression

Step 5: Save the changes

Now, save the changes to apply Poll Scm configuration in your Job.

Save-changes

save the changes

You have successfully configured Poll Scm in Jenkins

Real-time Use Case of Poll SCM

Suppose a situation where the development team is working on a web application using Git as the version control system and Jenkins for the continuous integration.

Use Case

Project Nature: The project mainly involves normal addition of features and bug fixing.

Poll SCM Configuration:

  • Jenkins Job Setup: Jenkins job is to configured using Poll SCM for every 5 minutes (H/5 * * * *).
  • Source Code Repository: The project source code is hosted on a Git repository.

Workflow

  • Now throughout the day developer make changes in the code and then commit them to the Git repository.
  • Jenkins configured with Poll SCM will going to check the repository in every 5 minutes.
  • If changes are detected Jenkins will initiates a build
  • If there is issues with the integration or if tests fails then developer will receive feedback immediately within the 5 minute of the polling interval.

Conclusion

It must concluded here that Poll Scm in Jenkins is very crucial feature which help in regularly check the changes in your source code repository. You can use cron expression like ” H/15 * * * * ” to poll the changes in every 15 minutes. In this article you have learn about Poll Scm and How we can configure it in Jenkins

Poll SCM in Jenkins – FAQ’s

What is Poll SCM in Jenkins?

Poll SCM is an mechanism in Jenkins that periodically checks the changes that are made in the source code repository. If any changes are detected, Jenkins triggers the build, and facillates continuous integration and automated testing.

Why Poll SCM is so important?

Poll SCM is crucial for continuous integration as it automates the process for monitoring the changes in the source code repository. This ensures that Jenkins initiates builds whenever there is an new code commits, which also helps developers to get quick feedback and make changes accordingly.

Which version control systems are supported by Poll SCM in Jenkins?

Jenkins supports different kind of version control systems, like Git, Subversion, Mercurial, etc. You can configure Poll SCM for the any of the version control system as per your project need.

How Jenkins identify the changes through Poll SCM?

Jenkins compares the current state of the repository with the previous state during Poll SCM. It uses the version control system’s mechanisms, like commit timestamps or revision numbers to identify new changes.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads