Hacking the DockerHub into Bitbucket

January 14th 2015 Nicola Paolucci in Docker, Bitbucket, Hack, Shipit

Today, I want to tell you about the results of a hackathon, or as we call it a ShipIt project. It's fun for me to share and I hope you'll find it interesting. At Atlassian we have a big culture of innovation and experimentation. Every quarter, the company stops for 24 hours and employees can pick their own project to scratch their own itch: they form groups, sprint and spike working on new ideas. Sometimes we work on things completely off the wall, sometimes tiny improvements. Several key features included in our products (or even entirely new products) came out of these sprints of innovations.

shipit

The ShipIt time is always very exciting for me. A few months back I was in San Francisco and I paired up with a couple of colleagues on a Docker related project, as you might know or not know, I have been very excited about the technology and I have been talking about it a lot.

So here's my idea: the Docker registry collects a lot of software packages and or ready-made images. We already have a cool integration with the Docker registry in the sense that you can set-up the Docker registry to rebuild your image anytime you push something to Bitbucket.

integration

It would be nice if we could show the state of the images and also the interaction with the Docker community on Bitbucket itself. So what I needed to develop a solution was:

  • A simple static website using only HTML, JavaScript and CSS.
  • Where the JavaScript part was done with React and Flux.
  • nginx both for serving the static content and as proxy to avoid Cross-origin resource sharing restrictions.
  • Docker containers and fig to package and run the application.

But enough teasing! Have a look at the video for the (then live) DEMO and an extended explanation of the Docker setup used.

Video

Full transcription