Linux users know that pipe-ing (|’ing) allows for the chaining together of common tools, like an assembly line. Bitbucket Pipelines, launched last fall, perform a similar task within a continuous integration environment. On Tuesday, Atlassian released an update to Bitbucket Pipelines that brings Docker containers into the mix, ready for deployment to the Kubernetes container orchestration system.
Those containers aren’t just limited to the ones built by the user. Bitbucket Pipelines also now includes the ability to use service containers within the assembly line of code, as it were. With this update, announced at Dockercon 2017, users will be able to host up to three services within their Bitbucket Pipeline test environment, allowing build task chains to quickly spin up dependency services, like MySQL, Redis or any of the other services presented as containers in the Docker Hub.
Rahul Chhabria, principal product manager for Bitbucket Cloud at Atlassian, said that this update to Pipelines was spurred by the difficulties seen in the development world. “We think that development in the cloud is a growing space. We see that more and more as businesses are delivering cloud solutions, and we see several pain points. More and more, companies are delivering their applications as Docker containers,” said Chhabria.
It’s no secret that build times can be the linchpin to a successful development team. Facebook and Google have both spent large sums of money to optimize their build processes, ensuring developers do not have to sit around waiting for their software to come back to them approved by the battery of tests performed after each build.
Indeed, CircleCI and ElectricCloud have both built entire businesses around making builds go faster. It would seem like a good target for Atlassian’s Bitbucket platform, which has been searching for a foothold in a market dominated by GitHub’s mindshare.
“This saves countless hours of managing build server operations,” said Chhabria. “People will be able to build applications with Docker containers, and they will no longer have to install Jenkins to manage that server, nor will you have to provision multiple users across different services.”
Jenkins is a big target for Chhabria, and that also makes sense. Over the years since the Jenkins project separated from the original Hudson project after Oracle got grabby with the naming rights, it has been the defacto standard for most developers building and testing software in a continuous integration and continuous deployment environment.
Despite its popularity, Chhabria classifies Jenkins as legacy. “Ideally, we want to get people away from using legacy systems like Jenkins. We are the git solution for professional teams,” said Chhabria.
To get to that point, Chhabria says the Pipelines team is heavily focused on performance optimizations. “Our core focus is on performance,” said Chhabria. “There are some benefits you can have by managing your own server, but that comes at an extreme cost of provisioning two sets of users, and limits the feedback loop between developer and engineer. Our plans are automating that and making things faster.”