We’re Atlassian’s Partner of the Year 2026 Co-Selling Excellence and Cloud Transformation Services
Read more
Skip to main content

From end of life to always on: a GitLab transformation story

How Adaptavist executed 30 upgrades across five months to deliver a fully managed, future-ready GitLab environment.
Three people in front of screen with GitLab Upgrade

About the client

This UK-based publishing organisation had been running GitLab on its own AWS account for several years. While the team had grown comfortable with their setup, the underlying platform had quietly fallen behind. GitLab releases frequently, and without dedicated in-house expertise to manage upgrades, patches, and platform maintenance, the organisation had drifted onto an unsupported version.
What they needed wasn't just a one-off fix. They needed a long-term partner who could take ownership of their GitLab environment, keep it up to date, and ensure they'd never find themselves in this position again.
Industry
Publishing
Location
United Kingdom
Solution
GitLab Managed Services

The challenge

Instance

Stuck on end-of-life software

The customer was running an end-of-life GitLab version and an equally outdated operating system whose standard support had ended.
Risk

Exposed to vulnerabilities

The platform was no longer receiving security patches, leaving the environment exposed to known CVEs and unmitigated vulnerabilities.
Support

Outdated operating system dependency

The GitLab version in use was running on a legacy OS, meaning even beginning the upgrade path required deploying newer, supported infrastructure.
Alert

Security risk hidden behind a firewall

The environment was secured behind a firewall, providing a level of safety but not 100%. The team knew they were out of date but needed support to address it.
High five

No internal upgrade capability

The organisation lacked in-house experience managing GitLab's release cadence, leaving them unable to undertake the migration and upgrade journey unassisted.

The solution

Rather than attempting a single high-risk leap to the latest version, Adaptavist took a methodical, milestone-driven approach. Every step was tested and validated by the customer before progressing, as they wanted a manageable set of upgrades. This wasn't just an upgrade project; it was the beginning of a long-term partnership, and Adaptavist treated it that way from day one.
Assessment

Discovery and environment analysis

Adaptavist conducted a thorough assessment of the existing environment, including the GitLab version, operating system dependencies, infrastructure assumptions, and upgrade sequencing requirements. This analysis defined the exact path to safely move from the legacy state to a fully supported, modern platform.

Migration to Adaptavist-hosted AWS and legacy OS deployment

The customer's environment was migrated from their own AWS account to an Adaptavist-managed AWS account. To begin the upgrade sequence, an intermediate supported operating system version was deployed, allowing the end-of-life GitLab version to be installed and the migration to proceed from a stable starting point.

Incremental GitLab upgrade sequence

Across multiple milestones, Adaptavist executed a series of incremental GitLab upgrades, moving through versions in a controlled sequence from 15 through 18.6 and beyond. The customer was involved at every stage, testing each increment before sign-off and progressing only when confident. In total, 30 upgrades were carried out across the engagement.

OS refresh

Once GitLab reached a version compatible with a modern operating system, the infrastructure was rebuilt to Adaptavist's standard deployment model using the newer version instead of the one initially deployed. This provided standardisation and a longer operating system support lifecycle. A full GitLab backup was restored into the new environment, completing the transition to a fully supported, up-to-date platform.

Handover into GitLab Managed Services

With the environment modernised, the customer transitioned to Adaptavist's GitLab Managed Services offering, covering monthly patching, minor version management, CVE response, AWS infrastructure management, backup management, and oversight of staging and production environments.

Discovery and environment analysis

Adaptavist conducted a thorough assessment of the existing environment, including the GitLab version, operating system dependencies, infrastructure assumptions, and upgrade sequencing requirements. This analysis defined the exact path to safely move from the legacy state to a fully supported, modern platform.

Migration to Adaptavist-hosted AWS and legacy OS deployment

The customer's environment was migrated from their own AWS account to an Adaptavist-managed AWS account. To begin the upgrade sequence, an intermediate supported operating system version was deployed, allowing the end-of-life GitLab version to be installed and the migration to proceed from a stable starting point.

Incremental GitLab upgrade sequence

Across multiple milestones, Adaptavist executed a series of incremental GitLab upgrades, moving through versions in a controlled sequence from 15 through 18.6 and beyond. The customer was involved at every stage, testing each increment before sign-off and progressing only when confident. In total, 30 upgrades were carried out across the engagement.

OS refresh

Once GitLab reached a version compatible with a modern operating system, the infrastructure was rebuilt to Adaptavist's standard deployment model using the newer version instead of the one initially deployed. This provided standardisation and a longer operating system support lifecycle. A full GitLab backup was restored into the new environment, completing the transition to a fully supported, up-to-date platform.

Handover into GitLab Managed Services

With the environment modernised, the customer transitioned to Adaptavist's GitLab Managed Services offering, covering monthly patching, minor version management, CVE response, AWS infrastructure management, backup management, and oversight of staging and production environments.
Matthew Hope
We didn't just do upgrades. We defined a new product offering, and we developed a genuine partnership with this customer, going on the journey with them rather than simply delivering a project to them.
Matthew Hope
Global Cloud Practice Lead, Adaptavist

The results

After five months of collaborative, milestone-driven work, the customer emerged with a fully supported, modern GitLab environment, hosted, managed, and maintained by Adaptavist. The results speak not just to the technical achievement, but to the strength of the partnership built along the way.
The customer was delighted with the outcome. Critically, this engagement also validated a new Adaptavist service offering, GitLab Upgrade, and demonstrated the value of pairing it with ongoing managed services for customers who want to remain current without bearing the operational burden themselves. The customer is already planning to expand their account by adding additional service components and increasing compute capacity.
30
Upgrades executed across the engagement
5
Months from kick-off to business-as-usual
0
Data loss or unplanned service disruption

What's next

With the hard work done, the customer is now operating on a stable, modern platform, and Adaptavist is by their side to keep it that way. The focus going forward is on proactive maintenance rather than reactive recovery.
  • Bi-weekly CVE monitoring and rapid patch response, in line with GitLab's release cadence
  • Major version upgrade to GitLab 19 (releasing May 2026), managed by Adaptavist as part of ongoing services
  • Continued AWS infrastructure management, backup oversight, and disaster recovery readiness
  • Best practice consultancy to help the team understand what they have, how they're using it, and how to get more from the platform
  • Account expansion planned, additional services and compute components in discussion
GitLab managed services

Leave your GitLab environment in expert hands

Speak to our GitLab experts about managed services, upgrades, and migrations.