Any documentation on Hudson/Jenkins internals?

252 views
Skip to first unread message

Jenkins newbie

unread,
Oct 27, 2011, 3:06:22 PM10/27/11
to Jenkins Developers
Hello everyone,

I'm trying to understand how the master-slave architecture in Hudson
works. Internet resources only point me to user guides, how to config/
setup Hudson, etc. I'm hoping to find answers/pointers to docs on the
questions I have below:

1. What is the sequence of steps involved in running a build on the
Slave node? What goes on-the-wire between master->slave, and slave-
>master?

2. How do packages/libraries get shipped from master to slave - rsync/
scp/copy to slave plugin/some other magic?

3. Where are tools such as Ant, Maven, Findbugs, etc installed -
master/slave?

and few non-master/slave questions:
1. What all information does Hudson master hold in memory?
* Job configuration
* Build history
* What else? Are these libaries/tool related jars also loaded in
memory?

2. I also want to understand how plugins work, may be some tutorial
that explains how a plugin such as SVNplugin works inside Jenkins?

Thanks.

Pere Martir

unread,
Oct 28, 2011, 4:34:44 AM10/28/11
to Jenkins Developers
The last thing I remember is the architecture documented by Winston
Prakash.

http://hudson-ci.org/docs/index.html

"Hudson Architecture Documents"

Jenkins newbie

unread,
Oct 28, 2011, 2:51:25 PM10/28/11
to jenkin...@googlegroups.com
Thank you, Pere Martir. Those articles by Winston Prakash are just what I was
looking for.

While those documents written by Winston Prakash help understand the
architecture, I'm yet to find answers for these questions.

1.Where are tools such as Ant, Maven, Findbugs, etc installed -
master/slave, or both(assuming Master runs builds too)?

2. What all information does Hudson master hold in memory?


* Job configuration
* Build history

* What else? Are the libraries/tool related jars also loaded in memory?
I'm trying to understand the memory model of Hudson, in order to solve the
memory issues we're facing, on our farm.

Thanks.

--
View this message in context: http://jenkins.361315.n4.nabble.com/Any-documentation-on-Hudson-Jenkins-internals-tp3945659p3948878.html
Sent from the Jenkins dev mailing list archive at Nabble.com.

David M. Carr

unread,
Nov 1, 2011, 7:24:39 PM11/1/11
to jenkin...@googlegroups.com
On Fri, Oct 28, 2011 at 2:51 PM, Jenkins newbie <aqua....@gmail.com> wrote:
> Thank you, Pere Martir. Those articles by Winston Prakash are just what I was
> looking for.
>
> While those documents written by Winston Prakash help understand the
> architecture, I'm yet to find answers for these questions.
>
> 1.Where are tools such as Ant, Maven, Findbugs, etc installed -
> master/slave, or both(assuming Master runs builds too)?

At least for Ant and Maven, the answer is both. You'll need Ant/Maven
installed on any machines that actually use executors to run builds
that require said tools. You can either manually install the tools to
any location desired (and then configure Jenkins to tell it where they
are) or configure an "installer" to automatically download and install
the tools to a Jenkins-managed location. I expect that the answer is
roughly the same for other tools, though the availability of
installers will likely vary.

> 2. What all information does Hudson master hold in memory?
> * Job configuration
> * Build history
> * What else? Are the libraries/tool related jars also loaded in memory?
> I'm trying to understand the memory model of Hudson, in order to solve the
> memory issues we're facing, on our farm.
>
> Thanks.
>
> --
> View this message in context: http://jenkins.361315.n4.nabble.com/Any-documentation-on-Hudson-Jenkins-internals-tp3945659p3948878.html
> Sent from the Jenkins dev mailing list archive at Nabble.com.
>

--
David M. Carr
da...@carrclan.us

Reply all
Reply to author
Forward
0 new messages