Jenkins Master/Slave configuration
Asked Answered
K

1

5

I've been reading about Jenkins master/slave configurations but I still have some questions:

  1. Is it so that the slave Jenkins is not actually installed and started up the way master Jenkins is? I assumed I would install one master Jenkins and another slave Jenkins in the same way, and then master Jenkins would control the slave e.g. through SSH? So I cannot view the slave Jenkins through a GUI?

  2. The reason why I have thought about adding a slave Jenkins on another VM is because the VM contains our application servers (many test environments). Deploying and starting/stopping application servers from master Jenkins is a pain because master Jenkins and application servers are on different machines. Therefore, if I would add a slave Jenkins to the machine where our application servers are, these would actually be deployed and started/stopped locally (by slave Jenkins). I wonder if I have missed something, of if my presumptions are still valid.

Kwangchowan answered 16/5, 2013 at 6:36 Comment(1)
I am surprised that current VM plugins do not handle such cases. Maybe it is worth to search form this point of view...Cytology
T
12

In a standard Jenkins master/slave setup, Jenkins is only installed on the master. That is where you see the user interface and start/configure build jobs.

The slaves execute the jobs. There is no Jenkins installation here other than a small Java app to have Jenkins communicate to/from the slave. Jenkins talks to these slaves through the slave.jar app over e.g. SSH via the SSH Slaves Plugin and can monitor if the slave is running, etc.

So in your case, you can start jobs from the master that will execute on the application servers.

The master/slave setup also allows you to host all whole bunch of different slaves, with different OSes, different hardware, etc. You can communicate job results (artifacts) from one slave to another via the Copy Artifacts Plugin.

There are also ways to duplicate the actual Jenkins master with load balancing in a heavy use scenario. That is not what you seem to be looking for.

Tallbot answered 16/5, 2013 at 11:26 Comment(2)
Hi thanks for the clarification. I now have a master/slave setup ready. However I am still confused about the JBoss Management plugin part. I can configure JBoss plugins only on my master Jenkins. So when master delegates a job to a slave, and the build uses the JBoss Management plugin to start the AS, what will it actually do? Should I configure a "local" JBoss plugin instance, which is "local" from the slave's point of view, but is actually a "remote" server from the point of the master?Kwangchowan
@Kwangchowan , all the jenkins plugins are installed and configured under the master node. When you execute something under the slave, it has by default this configurations.Grassofparnassus

© 2022 - 2024 — McMap. All rights reserved.