Implementing DevOps
practicesin
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.

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 Bamboorelease
notes.