• May 29, 2022

How do I back up GitLab, and why is it important?

You’ve got a brand-new piece of software that will revolutionize the way people do business. You just need to work out how you’re going to get it to market.

The planning and strategising are more complex than you anticipated because you need to collaborate with multiple teams in your organization. You decide to use the GitLab cloud-based git repository tool to collate all your work and encourage valuable input from your development, operations, and security teams.

By using GitLab you will be able to accelerate your delivery, release your product sooner, and start making money.

With only a week to go until your big launch, you can’t seem to access any of your data. Other members of your team report the same issue. A quick Google search reveals that GitLab is down. This outage is stopping you from finishing your project and launching on time. You’ve spent hundreds of hours and thousands of $$$ creating your software for the big launch to be ruined by factors out of your control.

If only you had backed up your data, you would have been able to access your timelines, assigned tasks and project files and be able to work on them offline. But instead, your project is facing major delays.

But doesn’t GitLab backup your data automatically?

No. GitLab doesn’t provide its users with a solution to back up. This potentially puts you at risk of losing your critical business data.

And data loss can happen at any time. It can be caused by several things, some of the most common including:

  • Platform issues – No cloud app can guarantee 100% uptime. Software glitches and system outages can stall your projects. While data corruption and server crashes could leave you with no data at all
  • Human error – Users make mistakes, and accidental deletion of data is very common
  • Nefarious users – Former employees who left on bad terms have been known to delete data
  • Ransomware and viruses – Unfortunately, this risk is becoming more common. It is no longer just desktop computers under threat, cloud-based apps are a target for hackers where they wipe Git repositories and asking for ransoms

Why is it important to back up your GitLab data?

Losing your data could be catastrophic for your business. If you experienced an outage, how long would you be able to work without access to your GitLab repositories? If your data was deleted, what would you stand to lose? How much would it cost you? Could you afford it? Or are you better to prevent such situations and invest in a reliable third-party backup (with us)?

Backing up GitLab

You have two options when it comes to backing up GitLab. Git software can either be self-hosted meaning you can do it yourself (manually), or it can be cloud-hosted meaning you can work with a backup provider (third-party). Either way, you should clearly understand that your data is always your concern, so you need to make sure it’s properly protected.

Manual backup

Some GitLab users endeavour to create their own backup solutions. However, performing GitLab backups isn’t always as easy as it seems since the tool doesn’t provide any clear guidance on how to backup and restore your data.

However, if the manual route is one you wish to take, then you could use specific commands to create GitLab backups. Your Git software sits on someone’s server, and depending on how the application was installed, you could use one of the two examples below:

Omnibus installation

If you installed Gitlab using the omnibus installation method, use this command:

$ sudo gitlab-rake gitlab:backup:create

Source installation

If you installed GitLab via the source package, then use this command:

$ sudo -u git -H bundle exec rake gitlab:backup: create RAILS_ENV=production

*It is worth noting that these commands only apply to self-hosted GitLab installations, not the more popular cloud-only version of GitLab. For that, you need to use other scripts and customise them to suit your requirements and destinations.

While manual backups give you control of your data, there are a couple of things you need to take into consideration with this method. To do the backup, you need manpower. There is no automatic backup at regular, set times. So, you or a member of your team will need to conduct these backups routinely to retain the security you need.

It is important to consider that the manual option opens you up to human error. Backup instances may be missed or accidentally deleted. It is possible for a script not to work for months before it is noticed – which is often too late. But perhaps one of the biggest concerns with a manual backup is there is no option to encrypt your data. This lack of security could potentially leave you open to attackers who could steal and exploit your data – which as we have seen above can happen all too often.

Third-party back up

Working with a third-party organization, like BackupLABS, can take away all the stress and hassle of backing up your data. Our backups-as-a-service platform automatically backs up your GitLab data streamlining your process with minimum effort.

We can backup the entirety of your GitLab repositories including comments, milestones, wikis and attachments, and when you need to use your backup, you can restore it directly into GitLab or save it directly to your local machine. So even in the event of an outage, you can still access your data and continue to work on your project.

We know that recovery is an essential part of backing up your data, so our solution enables you to recover your data at any point in the past 30 days.

The benefits of backing up GitLab

Peace of mind.If data is compromised, backups are extremely helpful in providing a previously good state to compare with the current state. If you only have your infected codebase, it can be challenging to uncover all the corrupted files or backdoors left open for future attacks.

Saves money. Ransomware attacks take control of codebases or sets of infrastructure and demand money in return to unlock the encryption they have added. Having a backup of your repository would mean you could restore from your backup and continue working with minimal downtime – not to mention saving your business $$$’s as the encryption would not need unlocking or the ransom need paying.

Saves time. GitLab has a 90-day recovery period for deleted repositories – but there are limitations to this feature. Having a backup and restore plan (with frequent automatic backups in place) with a third party (like us), ensures minimal negative impact to your business and a quick recovery to your GitLab repositories – it’s the difference between a work-stopping outage causing days out or even having to close your business, to a simple alert and switchover.

Maintaining compliance. Our backup solution ensures that personal data is compliant with GDPR. If you’re subject to SOC 2 compliance standards, you’ll choose from 5 Trust Services Criteria categories, Security (or Common Criteria), Availability, Confidentiality, Processing Integrity and Privacy. SOC 2 auditors will check that backups of certain database components and applications are performed daily to support recovery in the event of a service failure. The SOC 2 also demonstrates that you take security seriously and have invested in processes and systems that will protect sensitive data and information – it’s a great competitor advantage too.

If you need a reliable and robust backup partner, head to our GitLab Backup page to get started. You’ll be up and running within 5 minutes!

Let us take care of your data while you take care of the rest of your business.

Your critical repositories and codebase are in safe hands with BackupLABS.