By Matt Ryall on December 5, 2017
Teams are deploying code faster than ever, thanks to continuous delivery practices and tools like Bitbucket Pipelines. But this has caused a huge problem: it’s hard keeping up with all the deployments and knowing where things are at.
In teams adopting continuous delivery, you hear questions like:
- What changes were deployed to production yesterday?
- Can I try out this feature in the test environment?
- Who broke the staging environment?
To help you answer these questions and more, we’re excited to announce Bitbucket Deployments in Bitbucket Cloud. Bitbucket Deployments is the first deployment solution that sits next to your source code and can be configured with a single line of code.
Now there’s no need to set up and maintain a separate deployment tool, or scroll through unrelated builds in your CI service to analyze deployments. Bitbucket can manage and track your code from development through code review, build, test, and deployment – all the way to production. (In the future, we’ll be adding integrations with Jira to keep your boards and issues in sync with deployments as well!)
Let’s jump into the specific features to show you how tracking deployments with Bitbucket can help your team move faster today.
Deployment visibility with the new dashboard
Our new Deployments dashboard gives you a single place to see which version of your software is running in each environment, and a complete history of earlier deployments.
Environments in Bitbucket are configured out of the box as test, staging, and production, and your team can choose to use one or more of these environments as needed. The current status shown on the dashboard reflects the last deployment that was attempted to that environment, as configured via the Pipelines YAML file.
Also shown on the dashboard is a full deployment history with a list of every deployment to each environment. You can see which build went out, who deployed it, and when it was deployed. When diagnosing problems, the history list can be filtered to show all the deployments to one environment to trace back and find the offending change.
Tying code and deployments together in the deployment summary
Bitbucket Cloud is now one tool to manage your source code and your deployments, so it’s smarter than the average deployment tool. You don’t have to wonder which code changes went out in a deployment, Bitbucket can tell you!
Here’s what you’ll see if you click on one of the deployments on the dashboard:
With this complete and detailed history of every deployment, investigating problems becomes much easier. Your team can quickly confirm the cause of a bug and roll forward with the fix.
Preview and promote deployments between environments
Preventing mistakes is a key part of every team’s deployment process. This is why so many teams still have manual checkpoints in an otherwise automated process. However, these manual checkpoints are more difficult than they need to be, with lead developers trawling through dozens of diffs and PRs to review a set of changes prior to pushing them live.
To help make this easier, Bitbucket Deployments will soon have a built-in promotion workflow, letting you take a verified build that is running in one environment and promote it to the next:
We’re also improving the chat notifications for Stride, HipChat, and Slack to keep your entire team in the loop about the releases once they go out. You’ll see Bitbucket Deployments round out with these improvements in the coming weeks.
Get started by enabling deployments in your build
The best bit? Once you’re signed up for Pipelines early access, it’s just a single line of code to enable deployment tracking in your Pipelines YAML configuration.
Check out the example below, where tracking is enabled for test, staging and production deployments:
Please give it a try and let us know your thoughts.
Try Bitbucket Deployments
Stay tuned for more on deployments…
Today we started with a quick introduction to the new Bitbucket Deployments. In the coming weeks, we’ll have a bunch more to share, covering CD best practices and the future of Bitbucket Deployments. Stay tuned!
Excited about this news? Tell us why on Hacker News or Reddit.
Bitbucket Pipelines Team
By Amber Frauenholtz on November 30, 2017
Jira Software is our oldest project at Atlassian . That’s a lot of code, and more importantly a lot of repositories with the word “Jira” in the name! Our switch to Git, where it’s to create more repositories with less contents in each, didn’t help the matter.
If you can relate to this phenomenon, then you can probably relate to the struggle of searching for a specific repository or fork in Bitbucket Server today. New in Bitbucket Server 5.6 we’re taking steps to make the data discovery process much easier through improved repository search and fork discovery.
Improved Repository Search
If you’ve never visited that repo before, then searching for its name may only show a couple of possible results even if there’s hundreds of repos that match your criteria. Sifting through irrelevant lists isn’t exactly what you hoped to be doing with your day, which is why we’re introducing a better way to find repositories in Bitbucket Server 5.6.
are now easier to navigate, revealing more matching repositories in the quick search (located in the header) as well as on the search results page. The ability to filter repositories has also been added to the repository list page.
Repository Fork Discovery
, you may commonly ask the questions “What repository is this forked from?” or “What forks exist of this repository?”. Until today, it was possible to get an answer only to the first question, leaving you guessing as to how to answer the second.
In Bitbucket Server 5.6 we’re bringing that information to the forefront a new menu item for “Forks” for each repository. Viewing all the forks in a single place makes it much easier to grok who has been doing what and when.
Try Bitbucket Server 5.6
If you’re currently fielding lots of repositories or forks, then Bitbucket Server 5.6 can help. Give it a try today and see how easier data discovery can improve your 9-to-5.
Download Bitbucket Server 5.6
For a full list of updates to Bitbucket Server 5.6, check out our release notes.
By Alastair Wilkes on November 21, 2017
Bitbucket webhooks are used by teams every day to test, analyze, deploy, and distribute great software to millions of people.
In a few weeks, we will be making a change to our network configuration that results in these services routing through different IP addresses. We plan to make this change no earlier than Monday December 11th.
If you’re using webhooks and have firewall rules to allow Bitbucket to communicate with your servers, you’ll need to add the new IPs to your rules before Monday December 11th.
The current source IP address range is (the IP range that is changing has been bolded for emphasis):
The new source IP addresses will be:
As always, you can consult our documentation for the current list of supported IPs for webhooks.
By Aneita Yang on
Bitbucket Pipelines gives you the ability to build, test and deploy from directly within Bitbucket Cloud. Today, we’re excited to announce that you can now use manual steps in Bitbucket Pipelines. With manual steps, you can customize your CI/CD pipeline by configuring steps that will only be run when manually triggered by someone on your team.
This is a great addition for teams that require some manual process (e.g. manual testing) as a prerequisite to deploying their software. You can simply configure the deployment steps as manual steps, then trigger the deployment once the necessary testing or other activities have been done.
Manual steps can also be used as an optional final step for additional automated testing. In cases where certain types of automated tests are expensive or time-consuming to run, adding them as a final manual stage gives your team the discretion in when to run these tests.
To configure a step in your pipeline as manual, add trigger: manual to the step in your bitbucket-pipelines.yml file. .
Below is an example bitbucket-pipelines.yml file which uses manual steps for the deployment steps.
name: Build and push to S3
- apt-get update
- apt-get install -y python-dev
- curl -O https://bootstrap.pypa.io/get-pip.py
- python get-pip.py
- pip install awscli
- aws deploy push --application-name $APPLICATION_NAME --s3-location s3://$S3_BUCKET/test_app_$BITBUCKET_BUILD_NUMBER --ignore-hidden-files
name: Deploy to test
- python deploy_to_test.py
name: Deploy to staging
- python deploy_to_staging.py
name: Deploy to production
- python deploy_to_production.py
Manual steps are designed as a replacement for using custom pipelines to trigger deployments, and we’ll be adding future enhancements to support tracking these deployments in the coming months. Custom pipelines remain primarily as the method of configuring scheduled builds, and also for running builds for a specific commit via the Bitbucket API.
For more information on manual steps and how to configure check out our documentation. For help configuring Pipelines to perform deployments, check out our deployment guides for your preferred platform.
We hope you like this addition to Pipelines. Happy building!
Learn more about Pipelines
By Taylor Pechacek on October 17, 2017
Back in March 2017, you gained the ability to view your Jira issues from Bitbucket Cloud, making it much easier to stay in sync with your team without leaving Bitbucket. But this didn’t solve having to visit Jira if you wanted to make any updates to an issue. Developer time is money and we don’t want you to waste it by jumping between Bitbucket and Jira to update, comment, or transition issues. That’s why we’re excited to announce that we’ve brought Jira issue editing power to Bitbucket.
Next time you do a peer review on someone’s code in Bitbucket and you need context from Jira, open the issue right from Bitbucket and add comments, attachments, or even transition the issue to done.
So what’s new?
The latest improvements are all about giving you the ability to update Jira issue information from Bitbucket. Now you can…
- Transition issues
- Add new comments
- View or add attachments
- See subtasks and linked Jira issues
- Start watching an issue
- Use the new rich text editor to easily convey your thoughts in the description or comments
- See more contextual information such as labels, versions, components, epics, sprints, and story point values.
- Support for middle-click and right-click patterns to skip opening the modal and open up the full issue detail in Jira in a new tab.
We will continue to invest in making Bitbucket and Jira easier to use together, further speeding your development cycle. Up next, we are focused on the following items.
- Custom fields
- Improved performance
How to get started
Ensure Bitbucket and Jira Software are connected.
If you’re already using issue keys in your commit messages today, simply click on the links to enjoy visibility on Jira issues. If you’re not using issue keys in Bitbucket, try adding one to your next commit message. Type out an issue key that exists in one of your Jira projects, for example, “TEST-123” and voilà, you should now be able to click on the issue keys to view it’s details. Read more about using issue keys in Bitbucket here.
Having trouble? You may need to reconnect your Jira and Bitbucket connection. Visit our troubleshooting page if you run into issues or contact support.
Not using Jira Software and Bitbucket together?
Jira Software is the preferred issue tracker of over 350,000 Bitbucket teams. We did an extensive study amongst our users and found teams who have Jira Software and Bitbucket integrated release 14% more often and close 23% more issues (when compared to teams using just one of those products).
By Aneita Yang on October 3, 2017
Bitbucket Pipelines empowers modern teams to build, test and deploy their code directly within Bitbucket. Today, we’re excited to share a huge improvement to how Pipelines can be structured to suit your team’s workflow, with support for multiple steps – the highest voted feature request in Bitbucket Pipelines.
With multiple steps in Pipelines, you can now:
- Structure and visualize your pipeline in a more logical manner.
- Test your code against different build environments.
- Separate your deployment step from other commands in your pipeline.
By Amber Frauenholtz on
Implementing DevOps practices
Bitbucket Server 5.4 and Bamboo 6.2 bring powerful new features to support your DevOps workflows at scale. From improving yourand developer productivity to providing the scale to run continuous integration across an entire Bitbucket and Bamboo have you covered.
Read on to learn more about new features including Bamboo Specs for Bitbucket Server, project level permissions in Bamboo, and upcoming additions to Bamboo’s licensing model.
Improving your flow
One of the 3 underlying principles of DevOps is flow, a key ingredient to reducing development risk and shortening release times. through your systems, how teams interact with data, and how quickly the data can get from point A to point B.
Bamboo Specs for Bitbucket Server
Bamboo Specs (a.k.a configuration as code) speeds up your ability to make plan changes on the fly and in bulk. New in Bamboo 6.2, we’re introducing Bamboo Specs for Bitbucket . Changes made to spec files stored in Bitbucket are automatically propagated to your Bamboo builds, saving time by updating your development pipeline alongside your codebase. by storing your specs in Git & Bitbucket you get the added benefits of code reviews, version tracking, and the ability to rollback at any time. All of this means higher quality build plans and faster changes.
Bamboo smart mirror support
Webhook support in Bitbucket Server
Flow isn’t limited to your build pipeline, it encompasses your entire development workflow. With new webhooks support in Bitbucket Server 5.4, it’s easier than ever to integrate with the . Webhooks are configurable through the Bitbucket user interface If you’re using some custom tooling to track work, webhooks can be sent for specific events, such as when a commit is pushed, a pull request is created, merged or a comment is added.
Contributing guidelines in Bitbucket Server
Developers often work on multiple projects and dependent libraries in their day-to-day lives, and sometimes it’s hard to know what the rules of engagement are for each. Any given repository might have a different standard for the definition of “done”, for branch naming conventions, for pushing commits, and for getting contributions reviewed and merged. Contributors might forget a requirement, have to interrupt a project owner for details, or have their carefully crafted change rejected for not complying. Work slows down when standards aren’t clearly defined and v
Bitbucket Server now supports contributing guidelines files in addition to the existing support for showing README files. Simply add a CONTRIBUTING markdown or text file to your repository that documents the guidelines for contributions. Your clone dialog, create a pull request screen, and view pull request screen will then automatically display a link to this file.
DevOps at scale
Translating DevOps techniques from concept to reality is hard enough. Throw in the additional challenge that enterprises experience doing this at scale, and you may have an actual mountain left to climb. When it comes to version Bitbucket Data Center a great job supporting those needs, continuous integration and delivery?
What do you do when your development teams are generating so many build artifacts your CI/CD server can’t keep up, or you’re running so many concurrent builds that you’ve hit your maximum build agent capacity? Or perhaps you have it’s become quite troublesome just to configure permissions. Until today, the answer was “.” Now with Bamboo 6.2 new project level permissions, artifact handlers and dependency proxies, and new, larger agent tiers, these worries can become a thing of the past.
Bamboo project level permissions
With the addition of a brand new role, called Project admin, ions in Bamboo can now be thoughtfully applied at the project level. Bamboo administrators to delegate some of their responsbilities to those who are in charge of the projects themselves, or apply permissions more broadly across many build plans. Not only does this lighten the burden of managing a large amount of users, but great for those organizations who have strict compliance or security requirements around access controls.
Supporting massive scale
Bamboo 6.2 also introduces artifact handlers and agent bootstrapping proxies, both are ways to decrease the load on your Bamboo server while adding the ability to support greater scale. New options for storing your build artifacts include Amazon S3 and NFS effectively transferring the load of archived binary files from Bamboo to servers specifically built for storage. .
s mean more builds, more concurrent processes, and more code releases are possible. Ensuring all organizations, regardless of how large, can implement modern CI practices is extremely important to us. The positive impacts that come from testing and automation cannot be ignored – things like faster release cycles, higher quality code, and empowered development teams. This is why we’ve placed an emphasis on scaling Bamboo, and will continue to do so. For those who are pushing the boundaries of what their CI/CD servers can handle, we’re extremely excited to give you a sneak peak into what’s to 500 and agent tier updates to our Bamboo pricing. With build agents at your build queuing is reduced and more concurrent processes can happen at once, which ultimately helps you release more code, more often. Availability of these new agent tiers is coming soon.
…One more addition, GVFS support in Bitbucket Server
Microsoft recently announced a new open source project that they’ve been using internally for improving developer productivity when it comes to very large monolithic codebases in Git. GVFS (Git Virtual File System) virtualizes the file system underlying Git repositories on developers’ machines (currently Windows only), making more efficient use of bandwidth, space and computation by only working with files that have been accessed. At Atlassian, we’ve been pondering and observing similar problems, and while it doesn’t affect a great many software teams, it’s a real thing for some. The announcement of GVFS piqued our interest, and we soon followed up with GVFS support in SourceTree, our free Git GUI, for those that use a supporting host like Visual Studio Team Services. Since then we’ve explored the possibilities for our Git hosting tools, and have now released an experimental add-on for Bitbucket Server and Data Center that provides the server side support needed for those wishing to use GVFS for their development.
Like GVFS itself, it’s early days for this add-on, but if you work on large repositories, we’d love for you to take it for a spin and send us your feedback.
Powering Enterprise DevOps
As DevOps practices become the new the importance l and continuous integration clear – they’re vital to implementing modern development workflows. Bitbucket Server and Bamboo provide the flexibility, control, and scale needed to do just that. Give them a try today and see how they can transform the way your team works.
Download Bitbucket Server 5.4
Download Bamboo 6.2
For more information on other improvements and bug fixes in Bitbucket Server & Data Center 5.4 and Bamboo 6.2 check out our Bitbucket and Bamboo .
By Claire Maynard on September 13, 2017
Your team just came up with a great new idea for a feature, product, Airbnb for dogs, whatever it is….it’s amazing (naturally) and you’re ready to get started if you had one place where your whole team could plan requirements, assign tasks, start coding, collaborate, and deploy to your customers? If you didn’t have to fumble around deciding where you’re going to document user stories and requirement?
Well, now you can! With Trello boards in Bitbucket Cloud, spin up a Trello board and get your entire team on the same page, instantly.
you haven’t heard of Trello, well, get ready to get work done, fast. Trello’s boards, and cards let you organize and prioritize projects in a fast, flexible way. , and we’ve made it even easier for teams to plan and track in the tool they already know and love. Give your team a shared workspace that takes you from planning to deploying with hackathon speed – for free.
Why Trello boards in Bitbucket?
Everything in one place
With boards in Bitbucket, you now have one place for planning, tracking, collaborating on code, testing and deploying. Developers save time by never bouncing between multiple applications and losing context to find their next piece of work. You don’t have to add and configure user permissions in a separate tool because access to Trello boards can be set based on Bitbucket’s repository permissions. Keep work moving fast by having everything and everyone organized in one tool.
Get project status at a glance
Quickly understand the status of the team’s work in a simple, digestible view navigating around Bitbucket to find related work. Gain total traceability with branches, commits, and pull requests all associated with cards on the board. Even see build and pull request status from the front of the card with color-coded card badges that help you recognize if there are any i. Daily stand-ups are a breeze with information like status updates, code reviewers, and more all within the details of the card.
Collaborate with your team – no coding skills necessary!
PMs, engineers, designers, and marketers and many more contribute to the success of your product. Extended teams now have a common language and workspace to collaborate on projects . Everyone can have one view of all their work without switching between multiple applications. Product teams can prioritize tasks and get perspective on the work getting done, and non-technical teams, like marketing, can see what’s shipping and share it with customers.
“The Trello integration with Bitbucket makes it easy for our developers to collaborate with our marketing team who want a fast and simple tool. They have access to our development backlog and can quickly add things like bugs, feature requests, or changes to the website.” – Alex Brown, Sr. Web Developer from Lushusa.com
, make sure to install it to take advantage of the full integration.
Using Bitbucket? Here’s how to get started
Trello boards are now available on all repositories in Bitbucket. . If you already have a Trello account, you can select an existing board from the drop down or create a new board If you want to have more than one board, go to the repository settings and attach a second or third board.
Use a Trello board for agile development, bug tracking, a product roadmap, sprint retrospectives and more. Check out some of Trello’s engineering use cases.
This is a great reason to try Bitbucket.
- We have Trello integrated – obviously! Marketers and Designers don’t want to learn how to use GitHub issues.
- Bitbucket has integrated CI/CD with , so developers don’t spend time doing maintenance on Jenkins servers and GitHub integrations. With built-in Pipelines, see the status of your builds right in your repo. Take your code from testing to deploying in seconds.
- Bitbucket offers free unlimited private repositories. Nice!
- And, best of all, get all of this for around 25% of the cost of GitHub.
- Try it all for free (even premium features) for 30 days. No credit card required. Import your repo here.
Get started, it’s free
Have more specific questions about this post? Reach out to us on Twitter to get the information you need.
By Matt Ryall on September 11, 2017
We’ve heard your feedback loud and clear – Bitbucket Pipelines needed build numbers, something you can use as a unique numeric identifier in your build and deployment pipeline.
Today I’m happy to announce that we’ve shipped $BITBUCKET_BUILD_NUMBER – an incrementing build number for each build in your repository that is available as an environment variable. All previous builds have been numbered as well, and you’ll see the new number appearing in your Pipelines UI.
Pipeline #23704, reporting for duty!
A few neat things about this feature:
- $BITBUCKET_BUILD_NUMBER values will be unique across all branches, meaning you can use it as a software build number that won’t clash with builds on other branches
- rerunning a build will give it a new build number, also avoiding clashes and helping you track reruns better in the list of completed builds
- you can increment the build number to a new starting point using our REST API, which is handy if you’re moving from another tool.
Note that this feature doesn’t aim to provide semantic versioning or branch-specific version numbers (i.e. version numbers for humans). You can find other tools out there that will do this for you, like the wonderful semantic-release.
We hope you like this small but important addition to Pipelines.
By Claire Maynard on August 22, 2017
We launched Bitbucket Pipelines less than a year ago as a fully hosted CI/CD service that next to your code. By having Pipelines integrated with , 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!
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.
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 b from the portability and minimal overhead of containerization. One of our most popular feature !
Service containers for database testing – Testing with databases like MySQL or services like Redis are a 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 , schedule a pipeline to run daily or weekly. This is great for running longer tests and scheduled jobs.
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.
Get started, it’s free
Have more specific questions about this post? Reach out to us on Twitter to get the information you need.