[Proposal] Jenkins Job Builder (JJB) for Fedora Jenkins Instance

Praveen Kumar kumarpraveen.nitdgp at gmail.com
Sun Jan 11 02:45:38 UTC 2015


On Sat, Jan 10, 2015 at 12:40 AM, Ralph Bean <rbean at redhat.com> wrote:
> On Thu, Jan 08, 2015 at 12:24:40PM +0530, Praveen Kumar wrote:
>> Hi,
>>
>> Few days back I was having conversation with Pierre-Yves (Pingou)
>> about using jenkins-job-builder to create/configure/update jobs to
>> Jenkins.
>>
>> Background:
>> Jenkins job builder[0] is used for openstack infra for managing a
>> large number of jobs on Jenkins. It uses yaml format to define a
>> job/job-template which can be used across project. It create a modular
>> structure of job definition so we can reuse a particular section
>> across jobs. Another great thing is we can have git repo for those
>> project configuration file and whenever a new project comes or need
>> update then Jenkins Git/Gerrit hook will trigger it (no more manual
>> configuration using jenkins-web).
>>
>> I also create a JJB sample template [1] to demonstrate it's readiness
>> and manageability.
>>
>> Let us know your point of view regarding this proposal.
>>
>> [0] http://ci.openstack.org/jjb.html
>> [1] https://github.com/praveenkumar/jjb-sample
>
> It looks pretty neat.
>
> Where would we keep these job configuration files?  In each project's
> git repo (client-side)?  In ansible (server-side)?

Job configurations file should be in git repo not in each project but
as we maintain our ansible repo which is common for our complete Infra
same way we have to create a JJB repo which will be common across all
project which suppose to be on Jenkins.

> If we use jjb for some projects, can other projects ignore it and
> still do manual configuration using jenkins-web?

If you want to ignore some project then don't include it in project
section[0] and JJB will ignore it then you still have choice to use
manual configuration using jenkins-web. Like Ansible make sure our
infra servers should be in desired state (if not we run playbook
again) same way JJB make sure our Jenkins jobs are in desired state
and we don't have to write template of a particular project which we
want to maintain manually (like we don't have to write playbook if we
want to manage a server manually).

[0] https://github.com/praveenkumar/jjb-sample/blob/master/jjb/projects.yaml

-- 
Praveen Kumar
http://fedoraproject.org/wiki/User:Kumarpraveen
http://fedoraproject.org/
http://kumar-pravin.blogspot.com


More information about the infrastructure mailing list