What is SVN and Jenkins

Jenkins CI: How to Trigger Builds on SVN Commit


There are two ways to do this:

I recommend the first option initially as it is easy to implement. Once you are mature in your build processes, move on to the second.

  1. Query the repository to see if any changes have occurred. This can "skip" a commit if two commits are received within the same polling interval. The procedure is described in the fourth screenshot, in which you configure a "build trigger" in the job that is based on the query of the repository (with a crontab-like configuration).

  2. Configure your repository to have a post-commit hook that notifies Jenkins that a build needs to be started. Description here in the section "Post-commit hooks"

The SVN tag function is not part of the query, but part of promoting the current "head" of the source code to a tag to take a snapshot of a build. That way you can call Jenkins buid # 32 SVN tag / tags / build-32 (or something similar).

You only need one plugin, namely the Subversion plugin.

Then just go to Jenkins → Job Name → Build trigger Section → (i) Trigger build remote (ie from scripts). Authentication token: token name

Change to the hooks directory of the SVN server and execute the following commands after triggering:

  1. Note: All lines should be commented. Lastly, add the following line

Syntax (for Linux users):

Syntax (for Windows users):

I created a tool using Python with some bash to trigger a Jenkins build. Basically, you have to collect these two values ​​from the post-commit when a commit reaches the SVN server:

Then use "svnlook dirs-changed $ 1 -r $ 2" to get the path that was just committed. Then you can check which repository you want to create. Imagine you have a hundred thousand projects. You can't check the entire repository, can you?

You can check out my script from GitHub.

You can use a post-commit hook.

Put the post-commit hook script in the folder, create one in your C: \ drive and put the file in that folder. Add the following code to the file called

Where Test = name of the job

is used to show the value and you can also add at the end to see if the problem is and whether or not the hook script is running after it is committed.

We use cookies and other tracking technologies to improve your browsing experience on our website, to show you personalized content and targeted ads, to analyze our website traffic, and to understand where our visitors are coming from.

By continuing, you consent to our use of cookies and other tracking technologies and affirm you're at least 16 years old or have consent from a parent or guardian.

You can read details in our Cookie policy and Privacy policy.