Looks like we start to reach a consensus :) I duplicated all our jobs and configured them to use docker instead: - brooklyn-server => https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-server-master-docker/ - brooklyn-library => https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-library-master-docker/ - brooklyn-client => https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-client-master-docker/ - brooklyn-ui => https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-ui-master-docker/ - brooklyn-dist => https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-dist-master-docker/ - brooklyn => https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-master-build-docker/
I only "disabled" the other jobs by removing all triggers, just in case what I did breaks everything then we can go back. While I was on the jenkins, I noticed some `incubator-brooklyn-*` jobs, I guess those can be deleted isn't it? Also, anyone know the purpose of brooklyn-master-windows[1] ? --- In terms of next steps, I'll monitor to see if the new jobs behave as expected. If yes, I'll then move on to: - migrate the PR's jobs to use docker - add the `Dockerfile` within each git submodule - leverage the Jenkins' pipeline feature by adding the config directly in each git submodule - create new job to build and publish docs/website automatically Best [1] https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-master-windows/ On Wed, 15 Nov 2017 at 11:18 John McCabe <j...@johnmccabe.net> wrote: > Huge +1 on consistency/portability. > > On Tue, 14 Nov 2017 at 16:40 Mark McKenna <m4rkmcke...@apache.org> wrote: > > > +1 I echo what Richard says about consistency ... also makes debugging > > build failures easier > > > > > > > > On 14 November 2017 at 15:48, Richard Downer <rich...@apache.org> wrote: > > > > > +1 > > > > > > Having seen some of the conversations on the bui...@apache.org list, > it > > > does seem like this is the way to go as far as getting the right build > > > environment on the Apache Jenkins cluster. This is the best solution > for > > > getting the `rpm` and `deb` built regularly. > > > > > > Build consistency is also a great driver. I can see this being useful > for > > > the release process too, as a release build would have an identical > > > environment to that used to build the snapshots. > > > > > > Richard. > > > > > > > > > On 14 November 2017 at 15:43, Thomas Bouron > > <thomas.bouron@cloudsoftcorp.c > > > om > > > > wrote: > > > > > > > Hi Brooklyners! > > > > > > > > Few months ago, I pushed a PR[1] to simplify `brooklyn-vagrant` by > > using > > > > the RPM package. This is still on hold because we don't build RPM > > package > > > > of SNAPSHOT versions and therefore, our vagrant install script won't > > work > > > > for bleeding edge versions. > > > > For the record, RPM are not built on SNAPSHOT because INFRA does not > > > offer > > > > centos/RHEL machines as Jenkins slaves. > > > > > > > > But that is coming to an end. INFRA did install (recently-ish) docker > > on > > > > all Jenkins slaves which means that a new world is opened to us! In > the > > > > past weeks, I have created a clone[2] of the > `brooklyn-dist-master`[3] > > > job > > > > and configured it to use a custom docker image I created[4]. It is > > based > > > on > > > > `maven:alpine` and adds `rpm` and `dpkg` binaries (for the `dist` > tag). > > > > As my test was successful, I decided to go a little further by > > creating 2 > > > > other tags for this image: > > > > - `client, based on `maven:alpine` with the `go` binary > > > > - `latest` which is the combination of the last 2. > > > > > > > > My plan is to migrate all jenkins jobs to use docker. I'll donate the > > > > `Dockerfile` to each git repo so that jenkins will be able to build > and > > > > publish them on docker hub instead of using my account/image. Once we > > > have > > > > everything dockerised, we can look at improving current builds, like > > > using > > > > jenkins pipelines rather than relying on upstream<->downstream > > projects' > > > > relationships. > > > > > > > > It also makes the integration/live tests rise from the ashes. This is > > the > > > > perfect opportunity to fix and make then part of our CI. > > > > > > > > WDYT? Even if it's obvious, the main advantage here is the > portability > > of > > > > the build environment. It also means that we can use any jenkins > > slaves, > > > > potentially saving us a lot of time when waiting for a build > executor. > > > > > > > > Best. > > > > > > > > [1] https://github.com/apache/brooklyn-dist/pull/105 > > > > [2] > > > > https://builds.apache.org/view/B/view/Brooklyn/job/ > > > > brooklyn-dist-master-docker/ > > > > [3] https://builds.apache.org/view/B/view/Brooklyn/job/ > > > > brooklyn-dist-master/ > > > > [4] https://hub.docker.com/r/tbouron/brooklyn-build/ > > > > -- > > > > > > > > Thomas Bouron • Senior Software Engineer @ Cloudsoft Corporation • > > > > https://cloudsoft.io/ > > > > Github: https://github.com/tbouron > > > > Twitter: https://twitter.com/eltibouron > > > > > > > > > > -- Thomas Bouron • Senior Software Engineer @ Cloudsoft Corporation • https://cloudsoft.io/ Github: https://github.com/tbouron Twitter: https://twitter.com/eltibouron