Running development builds continuously is de rigeur for most software teams now (65% the survey says).

Since the mainstay of development builds is pulling code from development source code repositories, Atlasssian is making a play for simplifying the process with a new offering Bitbucket Pipelines, announced 24-May-2016.

The notion is that most or many development teams don’t need to stand up a fancy continuous integration server. We just need something that will build our stuff as we change our stuff.
Enter Bitbucket Pipelines (Beta).

Given a simple YAML configuration file, stored in the source code repository, Bitbucket will deploy a Docker image and run through a simple set of external commands, keyed to the branches in your repository.
Of course, instead of Node Package Manager, you could be calling Maven, or Ant, or Ruby Bundler, or whatever else you have installed in your Docker image.
(Sorry PowerShell, no Windows support quite yet.)

Show me the branches

The configuration file always has a default entry point and may have other entry points for your various branches.
Bitbucket Pipelines is being positioned to ultimately replace Bamboo Cloud, and Bamboo Server will chug along to serve the folks who are living behind a firewall, or who want more that Pipelines can deliver.

Ready, Start, Wait

There’s a waiting list for the beta, and I’m still on it (well, since yesterday, when Pipelines was announced). Looking at the docs, here’s my initial take

  1. For CI, Pipelines is the simplest thing that can possibly work, and I like that.
  2. Pipelines leverages Other People’s Work (OPW), and I like that too.
  3. I’ve already started to migrate our builds to use mainly Ant and Python, so it would be an easy transition for us.
  4. I don’t see a way, at least yet, to trigger manual or scheduled builds or collect parameters (user input is also a Bamboo weakness).

Here’s the short list of what is not available yet (which implies it might be available later).

  • Mercurial repository support
  • JIRA integration. Build statuses from Pipelines don’t show up in the development panel.
  • Email or HipChat notifications
  • Build artifacts stored by Bitbucket (you can still use third-party artifact repositories)
  • Building Windows applications
  • Running or building Docker images from your scripts
  • Accessing services like artifact repositories or container registries behind a firewall

It’s too early to say, but it would not surprise me if a year from now, we were using Pipelines for most of the development builds, and something like RunDeck to fill in the gaps.
Are you using continuous integration or continuous delivery? What tools are you using? Does Pipelines sound like a good fit for your team?


Ted Husted is a Kaizen Squad developer on the Nimble AMS product crew. “We make the good changes that create a great product.”