Jenkins update

Pierre-Yves Chibon pingou at pingoured.fr
Thu Mar 7 06:09:41 UTC 2013


On Thu, 2013-03-07 at 02:47 +0100, Xavier Lamien wrote:
> <XL> are my comments below.
> 
> On Wed, Mar 6, 2013 at 11:32 PM, Pierre-Yves Chibon
> <pingou at pingoured.fr> wrote:
>         Hi all,
>         
>         I have written this last week-end and I'm late...
>         
>         I have started to write down some instruction on how one can
>         get his/her
>         project added to our jenkins server:
>         https://fedoraproject.org/wiki/Jenkins@infra
> 
> 
>  == How can I add my project to Jenkins? ==
> [..snip]
> <XL>
> You can actually add this as a template so people can just fill up the
> form.
> Look at ticket type in admin panel if you have access to.

That's a bit what I had in mind ultimately yes.

> [...] meaning you have to take care of specifying the dependencies (or
> in some case, ask fedora-infrastructure to add them to the builders).
> 
> <XL>
> How does that work here?
> I mean, is people allow to install packages from build-step - or -
> will it have specific amount of images with required packages
> requested from people?

It means that if you need lixyz to build you project and that this lib
isn't already there, you'll have to ask us to install it (via ansible).
People have access to the web UI and that's it and jenkins itself
doesn't have admin rights on the machine nor the nodes.

> Also, as job's owner has full access to it's job, is there any policy
> regarding the build trigger (which requires to set a token) option?
> And how many jobs an instance can run? I see only 2 per instance for
> now, can an instance have more than that?

At the moment the builders can run 2 jobs in parallel, that's based on
the fact that the builders are dual-core. We can of course increase the
builder and thus the number of build they can do.
It all depends on how much Jenkins end up being used.


> 
>  "** the master connects to the slave via ssh"
> <XL> 
> Any technical reason for this one?

No real reason beside that it is the default behavior.

> Why not use the excellent swarm plugin which allows slaves to
> auto-discover to jenkins master? 
> So we can pre-package an image with the swarm client, run the
> instance, instance gets up and automatically join in (look for master
> from UDP, found it and start hand-shake stuff), gives it's resources
> availability
> and start jobs once master load-balance build. 
> This have the advantage of add/remove slaves without explicitly
> adding/removing nodes from the setting panel.
> (e.g the 2 slaves are pretty busy and you need a build in the queue to
> be done asap, you fire an instance up and master send your build to
> it.)

This sounds quite interesting indeed :)

> "Add project to jenkins"
> <XL>
> Jenkins provides some useful remote access API which can help you do
> this part easier.
> You can even ansible it ;)
> If you have time you can also use their python API to write a
> jenkins-job-setup.py <option>
> So admin can just log in to lockbox and ansible
> or jenkins-job-setup.py .
> Maybe you should look at it.

Sounds nice but I'd say, let's not delay jenkins for that. Maybe worth
making a ticket to keep the idea around (easyfix?).


Thanks for the feedback.

Pierre



More information about the infrastructure mailing list