Administering Bitbucket Data Center in Azure

Running Bitbucket on an Azure cluster

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

The Azure Resource Manager template as a method of deployment is no longer supported or maintained by Atlassian. You can still customize it for your own usage to deploy Data Center products on Azure though.

We recommend deploying your Data Center products on a Kubernetes cluster using our Helm charts for a more efficient and robust infrastructure and operational setup. Learn more about deploying on Kubernetes

Once you've deployed Bitbucket Data Center through the Azure Marketplace template, administering the application is similar to managing an application on your own hardware. The exception being that you'll need to go via the jumpbox to access your nodes, and shared home directory. 

To access your jumpbox and nodes you'll need:

  • The SSH credentials you provided during setup, and 
  • The URL of your jumpbox. This is listed as the BASTIONURL in your deployment's Outputs tab.

Connecting to your Azure jumpbox and nodes over SSH

You can access the jumpbox via a terminal, or using the command line using:ƒ

$ eval $(ssh-agent)
$ ssh-add ~/.ssh/id_rsa
$ ssh -A JUMPBOX_USERNAME@BASTIONURL
tip/resting Created with Sketch.

The SSHURL field in your deployment's Outputs tab shows the SSH command you can use to access your deployment.


Once you've accessed the jumpbox, you can jump to any of the nodes in the cluster, using:

$ ssh NODE_IP_ADDRESS

Accessing your configuration files

For your Azure deployment, you may need to make changes to your bitbucket.properties file, just as you would for a deployment on your own hardware.

your shared bitbucket.properties lives in /var/atlassian/application-data/bitbucket/shared/bitbucket.properties

The shared home is mounted on each node under /var/atlassian/application-data/bitbucket/shared. 

So from an existing node (when you're logged in through SSH), you can go to /var/atlassian/application-data/bitbucket/shared

Upgrading

Before upgrading to a later version of Bitbucket Data Center:
  1. Check if your apps are compatible with that version. Update your apps if needed. For more information about managing apps, see Using the Universal Plugin Manager.
  2. Enable integrity checks (if you haven't already). 

We strongly recommend that you perform the upgrade first in a staging environment before upgrading your production instance. How to establish staging server environments for Bitbucket Server provides helpful tips on doing so.

To upgrade to a later version of Bitbucket in Azure, you must first connect to your instance using SSH, then follow the steps in the Upgrade Bitbucket from an archive file. Note that you cannot use the installer if you're upgrading Bitbucket Server or a single-node Data Center using an Azure template.

Backing up

We recommend you use the Azure native backup facility, which utilizes snapshots to back up your Bitbucket Data Center. The following backup advice assumes that you deployed your Bitbucket instance through the Azure Marketplace template.

Database

We use Azure-managed database instances with high availability.  Azure provides several excellent options for backing up your database, so you should take some time to work out which will be the best, and most cost effective option for your needs. See the following Azure documentation for your chosen database:

NFS Server

This node handles the shared NFS file system of the Bitbucket application nodes. The Azure Marketplace template creates a general-purpose Azure storage account, configured with local redundant storage (LRS). Using LRS means there are multiple copies of the data at any one time, providing a basic redundancy strategy for your content.

The template also configures your deployment to back up the NFS server disks into the Azure Recovery Service vault daily. If you need to take point-in-time backups, use snapshots

Search server

The Elasticsearch cluster takes snapshots of its index every hour. Those snapshots are backed up to Azure Blob Storage.

Application nodes

The application nodes are VMs in an Azure Virtual Machine Scale Set. Each application node has a Bitbucket installation directory and a local home directory containing things like logs and search indexes. 

Like the NFS Server, application nodes are configured with local redundant storage. This means there are multiple copies of the data at any one time. 

If you've manually customised any configuration files in the installation directory (for example velocity templates), you may also want to manually back these up as a reference. 

Bastion host

As this VM acts as a jumpbox, and doesn't store any data it doesn't need to be backed up. If the VM  becomes unresponsive it can be restarted from the Azure Portal. 

Application gateway

The application gateway is highly available. As with the bastion host, it doesn't need to be backed up. 

Migrating your existing instance into Azure

If you want to migrate data from an existing instance into Bitbucket Data Center in Azure, we recommend that you use the Export and import projects and repositories tool. This tool is only available to users with Bitbucket Data Center licenses.

Disaster recovery

See Disaster recovery guide for Bitbucket Data Center for guidance on developing a disaster recovery strategy. See also information in the Azure documentation about recovering from a region-wide failure Azure resiliency technical guidance: recovery from a region-wide service disruption


Last modified on Apr 17, 2023

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.