Set the "Restrict where this job can be run" check box in your job configuration and specify the name of your slave.
If you add more slaves later, you can set labels for each slave and specify those in your job configs.
See this reference documentation:
Finally figured it out! I'm using a Maven plugin to extract the module version via a Maven plugin, based on this SO article.
The command produces output like this
[INFO] --- maven-help-plugin:2.1.1:evaluate (default-cli) @ master-parent ---
[INFO] No artifact parameter specified, using 'com.myorg:master-parent:pom:0.3.02' as project.
[INFO]
0.3.02
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
My initial BASH call to extract the version number
version_override=$(mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '[INFO]')
However, every so often (and yet unsure where to control this), Maven will reach out for updates to modules (I think). This is where the spurious Downloading output comes from, which mucks with my assignment from above.
I've now revised the command as follows
version_override=$(mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | egrep -v '[INFO]|Downloading:' | tr -d ' \n')
Likely still not bullet proof though, who knows what other output could come from this command, for example some day instead of leading [INFO] lines, maybe it spits out [ERROR] or something...
Anyway, it's tightened down for the time being. I really did think this was a Jenkins/Maven issue at first, but turns out it was just a BASH scripting issue!
Best Answer
look for jenkins logs usually located at /var/log/jenkins/ dir. It contains stacktrace of the exception which caused the server to stop.