<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/deploying-the-world-s-largest-gitlab-instance-12-times-daily-5837wtja5" -->

---
title: Deploying the world's largest GitLab instance 12 times daily
description: GitLab deploys code to GitLab.com up to 12 times daily using their own CI/CD platform, handling millions of developers without downtime. The deployment...
canonical: https://daily.dev/posts/deploying-the-world-s-largest-gitlab-instance-12-times-daily-5837wtja5
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Deploying the world's largest GitLab instance 12 times daily | daily.dev
og:description: GitLab deploys code to GitLab.com up to 12 times daily using their own CI/CD platform, handling millions of developers without downtime. The deployment...
og:url: https://daily.dev/posts/deploying-the-world-s-largest-gitlab-instance-12-times-daily-5837wtja5
og:image: https://api.daily.dev/og/posts/5837wtJA5.png
og:image:alt: Deploying the world's largest GitLab instance 12 times daily
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploying the world's largest GitLab instance 12 times daily

**[GitLab](https://daily.dev/sources/gitlab)** · 11 min read · 75 upvotes · 2 comments

## Summary

GitLab deploys code to GitLab.com up to 12 times daily using their own CI/CD platform, handling millions of developers without downtime. The deployment pipeline uses progressive rollouts through staging and production Canary environments (5% traffic), followed by full staging and production deployments. Key technical challenges include managing hybrid infrastructure (Helm charts for containers, Omnibus packages for Gitaly), handling database migrations with backward compatibility, and maintaining multi-version compatibility during deployments. The expand-migrate-contract pattern ensures safe schema changes, while post-deploy migrations run only after multiple successful deployments to minimize rollback risks. This approach validates GitLab's deployment features at massive scale before customers use them.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://about.gitlab.com/blog/continuously-deploying-the-largest-gitlab-instance/>

## Community discussion

Top comments from developers on daily.dev.

**@rujorgensen** · 3 upvotes

> When I hear something like this, it always makes me wonder what kind of things devs are releasing almost hourly on an app that is assumably done feature wise 🤔.

## Similar posts on daily.dev

- [GitOps in Practice: How to Design a Scalable CI/CD Pipeline with GitLab and GKE](https://daily.dev/posts/gitops-in-practice-how-to-design-a-scalable-ci-cd-pipeline-with-gitlab-and-gke-iwngmnmlk) · Cloud Native Now · 9 upvotes · 0 comments
- [GitOps Implementation at Enterprise Scale, Moving Beyond Traditional CI/CD](https://daily.dev/posts/gitops-implementation-at-enterprise-scale-moving-beyond-traditional-ci-cd-dn84xij98) · SD Times · 0 upvotes · 0 comments
- [Deployment strategies: Types, trade-offs, and how to choose](https://daily.dev/posts/deployment-strategies-types-trade-offs-and-how-to-choose-fttyvpaxs) · CircleCI · 1 upvotes · 0 comments
- [Managing Infrastructure: Everything Is a Pull Request](https://daily.dev/posts/managing-infrastructure-everything-is-a-pull-request-uxcw0owxg) · Medium · 0 upvotes · 0 comments
- [CI/CD in the age of AI, part 2: Deployments](https://daily.dev/posts/ci-cd-in-the-age-of-ai-part-2-deployments-pjhqy8pce) · Neciu Dan · 0 upvotes · 0 comments

---

Tags: [#kubernetes](https://daily.dev/tags/kubernetes), [#database](https://daily.dev/tags/database), [#cicd](https://daily.dev/tags/cicd), [#gitlab](https://daily.dev/tags/gitlab)

[View this post on daily.dev](https://daily.dev/posts/deploying-the-world-s-largest-gitlab-instance-12-times-daily-5837wtja5)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Deploying the world's largest GitLab instance 12 times daily","url":"https://daily.dev/posts/deploying-the-world-s-largest-gitlab-instance-12-times-daily-5837wtja5","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/deploying-the-world-s-largest-gitlab-instance-12-times-daily-5837wtja5"},"datePublished":"2025-12-01T14:26:02.710Z","dateModified":"2025-12-01T14:26:28.863Z","description":"GitLab deploys code to GitLab.com up to 12 times daily using their own CI/CD platform, handling millions of developers without downtime. The deployment...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0e4a7e62d22dc1b4f524a9c8e0492ffc?_a=AQAEulh","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/0e4a7e62d22dc1b4f524a9c8e0492ffc?_a=AQAEulh","isAccessibleForFree":true,"articleSection":"GitLab","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"GitLab","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/3720ce340ca4435daef529abbf361b69","url":"https://daily.dev/sources/gitlab"},"commentCount":2,"discussionUrl":"https://daily.dev/posts/deploying-the-world-s-largest-gitlab-instance-12-times-daily-5837wtja5","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":75},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":2}],"keywords":"kubernetes,database,cicd,gitlab","timeRequired":"PT11M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"GitLab","item":"https://daily.dev/sources/gitlab"},{"@type":"ListItem","position":3,"name":"Deploying the world's largest GitLab instance 12 times daily"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/deploying-the-world-s-largest-gitlab-instance-12-times-daily-5837wtja5","comment":[{"@type":"Comment","text":"When I hear something like this, it always makes me wonder what kind of things devs are releasing almost hourly on an app that is assumably done feature wise 🤔.","datePublished":"2025-12-30T21:10:01.593Z","url":"https://daily.dev/posts/5837wtJA5#c-bu6uO5QZ9","author":{"@type":"Person","name":"RJ","url":"https://daily.dev/rujorgensen","image":"https://lh3.googleusercontent.com/a/ACg8ocIX0FMQ5dZ_ie8ljouGWJQvP3wbIrYt5XnsaQf0l2ttkPDsSXLt=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3}}]}
```

