On Monday, August 31, 2015 at 1:25:41 PM UTC-7, Guenther, Marc(AWF) wrote:
>
> 2. The 'jenkins.yml' files I describe in the blog are purely our own 
> convention. Neither Jenkins Job Builder nor Job-DSL-Plugin use anything 
> like that. In particular, they have nothing to do with JJB's yaml files. 
> They also do not describe complete job definitions, but only choose and 
> configure existing definitions (what I wrongly called template). 
>

So while waiting for the next blog post, I've tried implementing the same 
thing myself and I'm a fan of this method!

My project repos contain a .jenkins.json file because there didn't seem to 
be a Yaml parser included with the jenkins groovy. This file specifies the 
type of job should be run, what kind of pipelines I want to it to trigger, 
and includes all the variables needed by the respective jobs that are 
created.

I use jenkins-job-builder to define the "seed" job for the project that 
contains a checkout of both the project repo and a job-dsl repo placed at 
.jobdsl. This seed job can easily be replaced by another job-dsl job. In 
this job-dsl repo, I define a bunch of predefined pipelines and job 
templates which I can import into the groovy dsl script that gets run by 
the seed job.

When the seed job runs, it examines the .jenkins.json, imports the classes 
from the job-dsl repo, and then generates all the jobs needed for this 
project inside a Jenkins Cloudbees Folder. Finally, it triggers the "main 
job" for the project that was generated.

This appears to work well at the testing scale. We'll see how it handles 
everything at a larger scale.

I look forward to the next blog post that has more implementation details.

-milki

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/783554ed-2e50-417a-be57-3986e80a16ce%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to