Step by step guide for setting up a master and slave machines
The guide will start the slaves through JNLP manually. In a real production environment it is suggested that the slaves are started automatically. The guide assumes that the master is a linux machine and the slave is a Windows machine.
Master machine
Go to "Manage Hudson"->"Configure Executors"
For each slave, do the following configuration
Press the "Add" button under the "Slaves" section
"Name" - Enter a name for the slave, ex "slave1"
"# of executors" - Enter the number of executors for the slave, that is the number of concurrent builds allowed on the slave. A good value to start with would be the number of processors.
"remote FS root" - Enter the absolute path of this work directory on the slave, such as '/export/home/hudson'. The directory will be created on the slave and all data needed in a build will be stored there. ex "c:\temp\hudson_tst"
"usage" - Set it to "Utilize this slave as much as possible"
"labels" - Enter any number of labels for the slave, ex "windows", "linux", "jdk"
Press "Save" to store all slave configurations
Go to the main page
Create a new free style project and configure it as:
Check the "Tie this project to node" check box
Select one of the slaves in the combo box in the "Tie this project to node" section
Check the "Execute Windows batch command"
Enter "dir" into the text area in the "Execute Windows batch command" section
Save the configuration by pressing "Save"
Slave machine
Start a web browser and go to the Hudson main page (located on the master machine)
Click on the slave's name in the Build executor list, and a page describing the slave is shown
Launch the slave agent by clicking on the "Launch slave agent" link
Wait until the web start application has started and shown a window stating that the slave is connected to the master server ("Connected")
Go to the Hudson main page on the master server
Verify that the slave is no longer marked as offline
Start the build that was tied to the slave (ie step 5 above). This will start a build on the slave, you can verify that it was executed on the slave by going to the "remote FS root" that was specified for the slave. It should now contain a folder called "workspace".
Go to the build history and verify that it was executed on the slave.