I forgot another item to add to the list: *5. Build and publish Brooklyn docker image* We already have the dockerfile necessary to do this. But I went ahead and implemented to be built AND published under `apache/brooklyn` on docker hub, by Jenkins! Here is the PR [1] but unfortunately, Jenkins does not want to play ball [2] so we are blocked on this front until it gets fixed. But after that, a simple `docker run apache/brooklyn` will give you a running Brooklyn.
[1] https://github.com/apache/brooklyn-dist/pull/148 [2] https://issues.apache.org/jira/browse/INFRA-19523 On Thu, 5 Dec 2019 at 15:37, Thomas Bouron <thomas.bou...@cloudsoft.io> wrote: > Hi Brooklyners! > > So you may have noticed a few more emails these past few days coming from > Jenkins. I'm happy to announce that I finally managed to make all git > submodules build into docker containers on Jenkins, piloted by Jenkins > pipelines (Jenkinsfile). And so far, it is incredibly stable! 🎉 > > We now have multibranch pipelines for: > - brooklyn-server: > https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-server/ > - brooklyn-library: > https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-library/ > - brooklyn-ui: > https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-ui/ > - brooklyn-client: > https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-client/ > - brooklyn-dist: > https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-dist/ > - brooklyn: https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn/ > Only unstable `master` builds will trigger an email alert to ` > dev@brooklyn.apache.org`. > > Multibranch means that `master` branch of each git repo (as well as all > PRs) are built automatically on each commit. In the case of `master` > branch, the artifacts are also deployed onto maven central. In the case of > PRs, the status is reported back to GitHub and a comment `restest this > please` *should* trigger a rebuild (however, I don't think this is > necessary anymore as the builds are stable) > Each build first create their own docker image, which is then used to > build the project inside it. The jenkins pipeline configuration has also > been added to git for an easier maintenance (`Jenkinsfile` at the root of > each git repo) > > There are still things I should / would like to do though: > > *1. Optimise artifact deployments* > Currently, artifacts are deployed onto maven central by each build > triggered by the `master` branch of each git repo. This is somewhat > inefficient so I would propose to deploy artifacts only when the main > `brooklyn` project is built. This build is triggered for each commit on > `master` branch as well as each successful build of downstream projects. > WDYT? > > *2. Automate website/doc deployment* > `brooklyn-docs` is currently not built automatically by Jenkins. But this > can be added relatively easily and on top of that, the deployment of the > website/doc can also be automated with the new .asfyaml feature [1] > > *3. Fix integration tests* > I created a PR [2] to apply all the changes I talked about above, > specifically for the Integration tests. On top of a review, we should also > look at fixing the failing tests. > > *4. Fix windows tests* > We have a Jenkins job to build Brooklyn on windows, but a couple of tests > fail despite the push from few contributors few months ago. It would be > great to iron out the remaining ones. WDYT? > > [1] > https://cwiki.apache.org/confluence/display/INFRA/.asf.yaml+features+for+git+repositories > [2] https://github.com/apache/brooklyn-dist/pull/144 > > -- > Thomas Bouron > Senior Software Engineer > > *Cloudsoft <https://cloudsoft.io/> *| Bringing Business to the Cloud > > GitHub: https://github.com/tbouron > Twitter: https://twitter.com/eltibouron > -- Thomas Bouron Senior Software Engineer *Cloudsoft <https://cloudsoft.io/> *| Bringing Business to the Cloud GitHub: https://github.com/tbouron Twitter: https://twitter.com/eltibouron