We launched Bitbucket Pipelines less than a year ago as a fully hosted CI/CD service that lives next to your code. By having Pipelines integrated with Bitbucket Cloud, setting it up is effortless – teams don’t need to sign up for another service, connect repositories or manage another set of users and permissions. We also manage all the build infrastructure for you, so builds start immediately when you add the configuration file to your repository. We’ve heard very positive feedback from customers and continue to invest in building innovative development tools.
As teams have adopted Pipelines, our users have been clamoring for more and more functionality so they can use Pipelines to power more of their teams build and deployment tasks. So our team has been busy continuously improving Pipelines since launch, adding dozens of awesome features and improvements focused on speed, power, and flexibility.
Today we wanted to look back and share some of the highlights – here are our top 12 features, all shipped in the last 6 months!
Faster builds for faster feedback
One of the key design principles of Pipelines is giving your developers the fastest feedback possible. Reducing development cycle time enables your team to move fast and fix problems quickly. As part of our ongoing mission to speed up your builds, we’ve made some major improvements in the last six months.
Dependency caching – Pipelines now supports caching between builds, speeding up builds by up to 100%. Most builds start by downloading dependencies which takes a significant portion of the total build time. Builds can be faster if these dependencies aren’t downloaded each time. You can enable one of our pre-configured caches for popular tech stacks or configure your own.
Alpine linux support – Alpine is a very lightweight Linux distribution weighing in at just 5 MB, so using it in your build can shave a significant amount off the download and startup time. All users can get the speed benefits of using any Docker image based on Alpine, including many of the official Docker images that started transitioning last year.
Public image caching – Behind the scenes, Pipelines has recently started caching public Docker images, resulting in a noticeable boost to startup time to all builds running on our infrastructure.
Command duration – You can now easily see which parts of your team’s pipeline are taking the longest, allowing you to optimize your build for speed.
HipChat notifications – Respond quickly to failed builds by centralizing team notifications in HipChat or Slack and close your team’s development feedback loop.
Leveraging the power of Docker containers
Docker containers are hot in technology circles right now, and their benefits of isolation, portability and fast startup are a great fit for CI/CD. In the last six months, we’ve added advanced new Docker abilities to build, test and deploy your containerized applications through Pipelines.
Build Docker images – Build your application Docker images, push them to a registry, then deploy – all directly from Pipelines. Every team can benefit from the portability and minimal overhead of containerization. One of our most popular feature requests!
Service containers for database testing – Testing with databases like MySQL or services like Redis are a critical part of many CI setups. Service containers make it easy to run a database or service as a separate but linked container to your build, leveraging the open source containers available on DockerHub.
Amazon ECR support – In addition to supporting all container registries using password authentication, Pipelines now supports pulling Docker images from Amazon ECR using the token authentication required by AWS.
Simple yet flexible configuration
Customize your continuous delivery workflow with additional flexibility within Bitbucket Pipelines and work the way you want.
Scheduled pipelines – Rather than running a pipeline on every push, schedule a pipeline to run hourly, daily or weekly. This is great for running longer tests and scheduled jobs.
SSH key management – No longer do you need to use arcane shell commands to generate and update SSH keys within your build script. Pipelines has a simple UI for creating or uploading an SSH key pair that is transparently injected into your build for easy access to external systems.
Build numbers – Identify builds and version artifacts more easily with build numbers by using the $BITBUCKET_BUILD_NUMBER variable available in your build.
bitbucket-pipelines.yml validator – Easily check for errors in your bitbucket-pipelines.yml before committing it to your repository with our validator.
And this is just the beginning. Our team is hard at work building even more exciting Pipelines features for you in the coming months. There’s no better time to jump on board!
Try Pipelines in Bitbucket today
If you're ready to start using Pipelines, sign up for a Bitbucket Cloud account and take it for a spin and tell us what you think! Already a Bitbucket customer? You can find Pipelines in the navigation menu on every Bitbucket repository.
Have more specific questions about this post? Reach out to us on Twitter to get the information you need.