You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beam.apache.org by Davor Bonaci <da...@google.com.INVALID> on 2016/11/15 09:01:22 UTC

Configuring Jenkins

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/

Re: Configuring Jenkins

Posted by Vikas Kedigehalli <vi...@gmail.com>.
This is awesome! Looking forward to separate builds for java and python for
faster builds!

On Tue, Nov 15, 2016 at 9:59 AM, Kenneth Knowles <kl...@google.com.invalid>
wrote:

> Awesome. This is a dramatic improvement.
>
> On Tue, Nov 15, 2016 at 8:52 AM, Amit Sela <am...@gmail.com> wrote:
>
> > Sweet! Versioning changes in a visible way can save a lot of pain..
> >
> > Thanks Davor!
> >
> > On Tue, Nov 15, 2016, 18:47 Robert Bradshaw <robertwb@google.com.invalid
> >
> > wrote:
> >
> > > This is great; thanks for doing this!
> > >
> > > On Tue, Nov 15, 2016 at 6:43 AM, Dan Halperin
> > > <dh...@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 <
> > aljoscha@apache.org>
> > > > wrote:
> > > >
> > > >> +1 I like this a lot!
> > > >>
> > > >> On Tue, 15 Nov 2016 at 10:37 Jean-Baptiste Onofré <jb...@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é
> > > >> > jbonofre@apache.org
> > > >> > http://blog.nanthrax.net
> > > >> > Talend - http://www.talend.com
> > > >> >
> > > >>
> > >
> >
>

Re: Configuring Jenkins

Posted by Kenneth Knowles <kl...@google.com.INVALID>.
Awesome. This is a dramatic improvement.

On Tue, Nov 15, 2016 at 8:52 AM, Amit Sela <am...@gmail.com> wrote:

> Sweet! Versioning changes in a visible way can save a lot of pain..
>
> Thanks Davor!
>
> On Tue, Nov 15, 2016, 18:47 Robert Bradshaw <ro...@google.com.invalid>
> wrote:
>
> > This is great; thanks for doing this!
> >
> > On Tue, Nov 15, 2016 at 6:43 AM, Dan Halperin
> > <dh...@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 <
> aljoscha@apache.org>
> > > wrote:
> > >
> > >> +1 I like this a lot!
> > >>
> > >> On Tue, 15 Nov 2016 at 10:37 Jean-Baptiste Onofré <jb...@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é
> > >> > jbonofre@apache.org
> > >> > http://blog.nanthrax.net
> > >> > Talend - http://www.talend.com
> > >> >
> > >>
> >
>

Re: Configuring Jenkins

Posted by Amit Sela <am...@gmail.com>.
Sweet! Versioning changes in a visible way can save a lot of pain..

Thanks Davor!

On Tue, Nov 15, 2016, 18:47 Robert Bradshaw <ro...@google.com.invalid>
wrote:

> This is great; thanks for doing this!
>
> On Tue, Nov 15, 2016 at 6:43 AM, Dan Halperin
> <dh...@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 <al...@apache.org>
> > wrote:
> >
> >> +1 I like this a lot!
> >>
> >> On Tue, 15 Nov 2016 at 10:37 Jean-Baptiste Onofré <jb...@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é
> >> > jbonofre@apache.org
> >> > http://blog.nanthrax.net
> >> > Talend - http://www.talend.com
> >> >
> >>
>

Re: Configuring Jenkins

Posted by Robert Bradshaw <ro...@google.com.INVALID>.
This is great; thanks for doing this!

On Tue, Nov 15, 2016 at 6:43 AM, Dan Halperin
<dh...@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 <al...@apache.org>
> wrote:
>
>> +1 I like this a lot!
>>
>> On Tue, 15 Nov 2016 at 10:37 Jean-Baptiste Onofré <jb...@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é
>> > jbonofre@apache.org
>> > http://blog.nanthrax.net
>> > Talend - http://www.talend.com
>> >
>>

Re: Configuring Jenkins

Posted by Dan Halperin <dh...@google.com.INVALID>.
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 <al...@apache.org>
wrote:

> +1 I like this a lot!
>
> On Tue, 15 Nov 2016 at 10:37 Jean-Baptiste Onofré <jb...@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é
> > jbonofre@apache.org
> > http://blog.nanthrax.net
> > Talend - http://www.talend.com
> >
>

Re: Configuring Jenkins

Posted by Thomas Weise <th...@apache.org>.
Very nice!


On Tue, Nov 15, 2016 at 12:52 PM, Aljoscha Krettek <al...@apache.org>
wrote:

> +1 I like this a lot!
>
> On Tue, 15 Nov 2016 at 10:37 Jean-Baptiste Onofré <jb...@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é
> > jbonofre@apache.org
> > http://blog.nanthrax.net
> > Talend - http://www.talend.com
> >
>

Re: Configuring Jenkins

Posted by Aljoscha Krettek <al...@apache.org>.
+1 I like this a lot!

On Tue, 15 Nov 2016 at 10:37 Jean-Baptiste Onofré <jb...@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é
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>

Re: Configuring Jenkins

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
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�
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: Configuring Jenkins

Posted by Daniel Kulp <dk...@apache.org>.
This is very cool….. I definitely need to look at this a bit as there a few there projects that would love to have something similar.  :)

Dan



> On Nov 15, 2016, at 4:01 AM, Davor Bonaci <da...@google.com.INVALID> 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/

-- 
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com