The master runs in the same JVM as the server.  I see only two reasons to use 
the master:
1: When starting out, just seeing what Jenkins can do
2: When you need direct access to the server (for instance, I have some 
Scriptler Groovy jobs that directly access Jenkins' data structures without 
using the HTTP API)

I recommend using slave nodes whenever possible, and limiting each job to a 
certain label to keep it off of the master.
If there is some sort of firewall between Jenkins and the number crunching 
cluster, server and slave machine, there are a couple of ways to handle this.
1: If you can use ssh to get to the number crunching cluster, you can build the 
slave and tell Jenkins to launch it via SSH.  It would ssh over to the target 
system, and use the SSH connection for I/O.  There is an SSH Slaves plugin to 
make this a lot easier.
2: If you can see the Jenkins server from the cluster using a client like wget 
or curl (that is, if port 8080 is open), you can set up the cluster to launch 
the client and connect.  The syntax is of the form:

 $ java -jar slave.jar -jnlpUrl 
http://yourserver:port/computer/slave-name/slave-agent.jnlp

More details can be found in the doc at 
https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds#Distributedbuilds-WriteyourownscripttolaunchJenkinsslaves.

--Rob

-----Original Message-----
From: jenkinsci-users@googlegroups.com 
[mailto:jenkinsci-users@googlegroups.com] On Behalf Of Nunni
Sent: Wednesday, June 13, 2012 9:53 AM
To: Jenkins Users
Subject: Re: build processes priority?

On 13 Giu, 15:35, "Mandeville, Rob" <rmandevi...@litle.com> wrote:
> Jenkins doesn't recognize "nice" because that's a Unix-only feature; I'm not 
> sure if there is an equivalent Windows feature.  Of course, if your steps are 
> shells, you can tell those to nice themselves.  You could also "nice" your 
> slave nodes when you launch them, if you do so by script.  Niceness is 
> inherited, so a slave node running at a given nice level will run jobs at 
> that same nice level.
> Jenkins itself tends to be rather light on the CPU, but it takes up 
> networking resources and disk I/O because it receives output from the jobs it 
> runs and logs them.  Idle slaves are light, and a slave in use only adds a 
> little overhead, mostly the network traffic of sending logs back to the 
> server.
> When you configure a job, it has an "Execute concurrent builds if necessary" 
> flag.  With that turned on, you can run more than one in parallel.
> If you want some jobs to be "nicer" than others on the same machine, you can 
> use the Jenkins Heavy Job Plugin.  Basically, while a normal job takes up one 
> executor (a node can have one or more executors, each capable of running a 
> job), a heavy job can take up multiple ones.  So if you have job A (an easy 
> one) and job B (a resource hog), you can tell Jenkins that Job B has a 
> "weight" of (say) 3.  If you had a node with four executors, this would mean:
> 1: Job B would not run until there are three free executors, so it 
> would wait until no more than one copy of job A was running
> 2: Job B would take up three executors, so when it was running, Jenkins would 
> put no more than one copy of job A on that node, and not another version of 
> job B (to run two job B's on the same node, you'd need at least six 
> executors).
>
> Hope this helps,
>
> --Rob

Hi Rob.
Thank you for your exaustive reply. Now I have a better idea of how things work 
in jenkins. I have a couple of questions.
1) Do you know if the master executor will do the builds in a separate process 
or inside the same process of the webapp?
2) I just realized we have a number crunching cluster here on a different 
subnet.. what if I put a few executor there? What about the communication 
between jenkins the executors? Ports, protocol, ecc..

Thank you again!

The information in this message is for the intended recipient(s) only and may 
be the proprietary and/or confidential property of Litle & Co., LLC, and thus 
protected from disclosure. If you are not the intended recipient(s), or an 
employee or agent responsible for delivering this message to the intended 
recipient, you are hereby notified that any use, dissemination, distribution or 
copying of this communication is prohibited. If you have received this 
communication in error, please notify Litle & Co. immediately by replying to 
this message and then promptly deleting it and your reply permanently from your 
computer.

Reply via email to