Implementing DevOps practices in large or highly regulated organizations is a balancing act. How do you make your development and operations teams as productive as possible, improve the flow of work moving throughout the system, and maintain the scale and security required? The answer is to choose tooling that can do it all.
Bitbucket Server 5.4 and Bamboo 6.2 bring powerful new features to support your DevOps workflows at scale. From improving your flow and developer productivity to providing the scale to run continuous integration across an entire organization, 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. Optimizing for flow means understanding and improving how changes move through your systems, how teams interact with that 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 Server: the ability to store your spec file in linked Bitbucket Server repositories. 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. Plus, 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
For distributed teams, smart mirrors have been a huge time saver. The ability to clone repositories that are located geographically closer to teams can cut down on hours of idle development time. Now this saved time can also be enjoyed in builds too. Simply choose a mirror when configuring an integrated Bitbucket repository in Bamboo and it will take care of the rest. Even with co-located infrastructure some customers see the use of smart mirrors as an appealing way to spread out the effect of spikes of activity from armies of build agents.
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 3rd party tools that make up your DevOps toolchain. Webhooks are configurable through the Bitbucket user interface at the repository level. 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 visible.
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 control, Bitbucket Data Center does a great job supporting those needs, but what about 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 so many build plans it’s become quite troublesome just to configure permissions. Until today, the answer was “you can’t do much.” 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, permissions in Bamboo can now be thoughtfully applied at the project level. This allows Bamboo administrators to delegate some of their responsibilities 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 lot of users, but it’s 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. Similarly, agent proxies decrease the reliance on your Bamboo server by caching and loading agent dependencies from a proxy.
Both of these new features 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 peek into what’s to come: 500 and 1,000 agent tier updates to our Bamboo pricing. With 1,000 build agents at your disposal, 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 normal, the importance of well-connected version control and continuous integration is 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.