This is great; thanks for doing this!
On Tue, Nov 15, 2016 at 6:43 AM, Dan Halperin <dhalp...@google.com.invalid> wrote: > Seems phenomenal! > > Reading between the lines of your email, it sounds like changes to Jenkins > configuration will not actually be exercised on the PR that makes them. So, > we still need to work out a process of how we test changes that would > affect Jenkins config. > > (That does not take away from the fact that DSL is a vast improvement!) > Dan > > On Tue, Nov 15, 2016 at 12:52 PM, Aljoscha Krettek <aljos...@apache.org> > wrote: > >> +1 I like this a lot! >> >> On Tue, 15 Nov 2016 at 10:37 Jean-Baptiste Onofré <j...@nanthrax.net> wrote: >> >> > Fantastic Davor ! >> > >> > I like this approach, I gonna take a deeper look. >> > >> > Thanks ! >> > >> > Regards >> > JB >> > >> > On 11/15/2016 10:01 AM, Davor Bonaci wrote: >> > > Hi everybody, >> > > As I'm sure everybody knows, we use Apache's Jenkins instance for all >> our >> > > testing, including pre-commit, post-commit, nightly snapshot, etc. >> > (Travis >> > > CI is a backup system and recommended for individual forks only.) >> > > >> > > Managing Jenkins projects has been a big pain point so far. Among other >> > > reasons, only a few of us have access to configure it, way too few of >> us >> > > have visibility into what those jobs do, and nobody has any visibility >> > into >> > > changes being made or an opportunity to comment on them. >> > > >> > > Well, not any more! I was playing a little bit with Jenkins DSL plugin >> > and >> > > was able to move our configuration out of Jenkins and into the git >> > > repository. I've done it as a proof of concept for the website >> repository >> > > only [1], but Jason is planning on extending that work to the main >> > > repository. Look for a PR shortly! >> > > >> > > Going forward, anyone can see what our Jenkins jobs are doing, and >> anyone >> > > can add new jobs or improve existing ones by simply proposing a pull >> > > request to change the configuration. Finally, the project maintains a >> > > history in source repository, instead of direct changes without much >> > > accountability. >> > > >> > > How this works? There's a "seed" job that periodically applies >> > > configuration specified in the source repository into Jenkins. >> Currently, >> > > this happens once per day. If you modify the configuration in the >> source >> > > repository, it will be applied within 24 hours. If you, however, modify >> > the >> > > configuration in Jenkins directly, it will revert back to whatever is >> > > specified in the code repository also within 24 hours. >> > > >> > > How to understand Jenkins DSL? There are many resources available; I've >> > > found Jenkins Job DSL API [2] particularly helpful. >> > > >> > > I hope you are excited to have this feature available to us! If you >> have >> > > any thoughts on improving this further, please comment. Thanks! >> > > >> > > Davor >> > > >> > > [1] https://github.com/apache/incubator-beam-site/pull/80 >> > > [2] https://jenkinsci.github.io/job-dsl-plugin/ >> > > >> > >> > -- >> > Jean-Baptiste Onofré >> > jbono...@apache.org >> > http://blog.nanthrax.net >> > Talend - http://www.talend.com >> > >>