Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to setup Jenkins with HA?

Currently we are using a Jenkins as our CI system and there is one master server and slaves which are provisioned by Saltstack on Openstack. If our Jenkins master server goes down, we need to create a new master and we need to pull the files from the old master & put it in new ones but it's gonna take at least 30mins.

Is there any way to setup Jenkins with High Availability?

I already check with Gearman Plugin, however if the Gearman server goes down for some reason, we need to setup a HA for Gearman also.

Is there any other ways to setup a High Availability for Jenkins?

like image 559
Vishnu Nair Avatar asked Mar 23 '16 08:03

Vishnu Nair


2 Answers

Jenkins doesn't have a great HA story; the best you can do with the open source version is to put all of the files in $JENKINS_HOME on a shared file system, and then have a cold standby master machine that you can spin up if the active master goes down. That would reduce your failover time to however long it takes for the master to restart, which is usually just a few minutes.

You could also look at CloudBees' Jenkins Enterprise offering, which includes a High Availability Plugin.

like image 156
gareth_bowles Avatar answered Oct 17 '22 13:10

gareth_bowles


I use cluster from scratch doc to create a Jenkins WAN-HA active/passive cluster. See the attached Architecture Diagram for Jenkins HA using pacemaker .

/etc/init.d/jenkins will need to be converted to be an ocf agent script. Currently I manually start up Jenkins via systemd on pcmk-2 server when pcmk-1 is down.

like image 36
T.J. Yang Avatar answered Oct 17 '22 13:10

T.J. Yang