Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I get Jenkins to build on push to a BitBucket git repository?

I have a git repository hosted on BitBucket, and have set up SSH authentication between the repository and my Jenkins server. I can build on Jenkins manually, but cannot get the Jenkins service on BitBucket to trigger builds.

Jenkins configuration:   - Project Name: [my_jenkins_job]   - Build Triggers:   --Trigger Builds Remotely:   ---Token: [token]  BitBucket configuration:   - Endpoint: http://[my_jenkins_address]/job/[my_jenkins_job]/build (I've also tried build?token=[token])   - Project Name: [my_jenkins_job]   - Module Name: [blank]   - Token: [token] 

Visiting http://{my_jenkins_address}/job/{my_jenkins_job}/build?token={token} kicks off a build properly.

Why doesn't pushing a change to BitBucket cause Jenkins to initiate a build?

like image 945
Allen T. Avatar asked Jun 27 '12 16:06

Allen T.


People also ask

How do I trigger Jenkins job in Git push?

Go to Manage Jenkins -> Global Tool Configuration -> GitAdd git executable path to Global Tool Configuration. Let us start with creating a Freestyle Project : Step 1: Go to New Item -> create a freestyle project. Step 2: Go to Configure, add a project description, and Github project URL.


2 Answers

Due to the Jenkins Hook of Bitbucket is not working at all for me and I have different Jenkins projects for different branches I had come to this solution:

  • Install Bitbucket Plugin at your Jenkins
  • Add a normal Post as Hook to your Bitbucket repository (Settings -> Hooks) and use following url:

https://YOUR.JENKINS.SERVER:PORT/bitbucket-hook/

and if you have setup authentication on jenkins then URL must be like

https://USERNAME:[email protected]:PORT/bitbucket-hook/

  • Configure your Jenkins project as follows:
  • under build trigger enable Build when a change is pushed to BitBucket
  • under Source Code Management select GIT; enter your credentials and define Branches to build (like **feature/*)

By this way I have three build projects, one for all features, one for develop and one for release branch. Make sure to include the slash ('/') on the end of the URL or the hook won't work.

And best of it, you don't have to ad new hooks for new Jenkins projects.

like image 180
salcosand Avatar answered Oct 25 '22 22:10

salcosand


I have our Jenkins instance set up to poll the repository every minute. Is that not frequent enough for your needs?

Our Jenkins configuration:

Build Triggers > Poll SCM = Checked

Build Triggers > Poll SCM > Schedule =

# every 1 minute */1 * * * * 
like image 26
Joseph Sturtevant Avatar answered Oct 25 '22 23:10

Joseph Sturtevant