Smart Mirroring can greatly improve Git clone speeds for distributed teams working with large repositories. Large repositories that take hours to clone from a Bitbucket instance over the Internet from the other side of the world can take minutes when cloned from a local mirror on a fast network.
If you're ready to start mirroring your repositories you can jump straight to the Set up a mirror article and follow the steps there, or read on to learn more about the benefits of using a mirror. If you have mirrors already configured, you might be searching for instructions on how to Clone a mirror repository.
This feature is only for customers with an active Bitbucket Data Center license. Purchase a Bitbucket Data Center license, or get an evaluation license to try Bitbucket Data Center.
Check out the on-demand webinar, Smart Mirroring in Bitbucket Data Center.
In this webinar you'll learn:
- Benefits of Smart Mirroring in Bitbucket Data Center 4.2.0 or higher
- How Smart Mirroring works
- Steps for setting up a mirror to improve Git clone speeds
- Troubleshooting tips for installation issues
- How to point your CI server (Bamboo, Jenkins,...) at a mirror
- A sneak peek of upcoming enterprise features
About Smart Mirroring
Many software development teams using Git have large repositories as a result of storing lots of historical information, using monolithic repositories, or storing large binary files (or all three). Companies with distributed software development teams often have little control over the network performance available to them between sites. In combination, this leads to lost development time when developers have to wait long periods, often hours, to clone a large repository from across the world.
Smart Mirroring gives you back this lost development time by allowing you to set up live mirror nodes with read-only copies of repositories in remote locations. The mirrors automatically keep all repositories hosted on them in sync with the primary Bitbucket Data Center instance. Users in those remote locations may clone and fetch repositories from the mirror and get identical content, only faster. Mirrors can be configured to mirror all repositories in all projects from their primary Bitbucket instance, or a selection of projects configured by an administrator.
How it works
Mirrors run the same Bitbucket application as a full Bitbucket Server instance, but configured to mirror an upstream Bitbucket Data Center instance where the primary copy of all your repositories is hosted.
Mirrors have no user interface and do not provide repository browsing, pull requests, or other such functionality, which is all provided by the primary Bitbucket server. The web interface of Bitbucket remain on the primary server.
Mirrors are read-only copies of a primary Bitbucket Server instance – they don't accept pushes. Fortunately you can easily configure Git to fetch from a mirror but send pushes directly to the primary instance, see Update your push URL for details about how to do this.
When a user clones or fetches from a mirror, the mirror automatically delegates the authentication and authorization of their credentials back to the primary server. So no additional user management is required on mirrors, and all the users, groups, and permissions of the primary Bitbucket instance (whether provided by the built-in user directory and permission system or by your own user directories and/or custom extensions) are always replicated exactly on all mirrors.
Ready to get started setting up a mirror?
Be sure to read Set up a mirror for detailed instructions on installing a mirror.
Don't have Bitbucket Data Center yet? Purchase a Bitbucket Data Center license, or get an evaluation license to try Bitbucket Data Center.