Sweet! Versioning changes in a visible way can save a lot of pain.. Thanks Davor!
On Tue, Nov 15, 2016, 18:47 Robert Bradshaw <rober...@google.com.invalid> wrote: > 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 > >> > > >> >