---
title: GitLab
slug: gitlab-6f3f8
url: /detay/gitlab-6f3f8
type: article
language: Türkçe
entity:
  primary: GitLab
  type: article
  disambiguation: GitLab: DevOps platformu.  CI/CD, güvenlik ve kod yönetimi için entegre çözüm.  Yazılım geliştirmeyi hızlandırın!
  categories:
    - name: Bilişim Ve İletişim Teknolojileri
      slug: bilisim-ve-iletisim-teknolojileri
      url: /kategori/bilisim-ve-iletisim-teknolojileri
  tags:
    - CICDPipeline
    - DevSecOps
    - YazılımMimarisi
    - GitLab
author: Ramazan Cüneyt Küçük
created_at: 2025-05-14T11:38:09.927675+03:00
updated_at: 2025-05-17T12:53:10.285296+03:00
image: https://cdn.t3pedia.org/media/uploads/2025/05/14/RGRcsegwloyACtFOIXABRtNFUc3hwIsd.png
---

# GitLab 

<!-- CONTEXT: KURE Information Cards for "GitLab " -->

## KURE Information Cards

### KURE Information Card: GitLab

![gitlab.png](https://cdn.t3pedia.org/media/uploads/2025/05/14/qaPa5l32xzeioD88dnZt8LJsiYHSUpbp.png)

| Field | Value |
|-------|-------|
| Web Sitesi(leri) | https://about.gitlab.com |
| Kuruluş Yılı(Metin) | 2011 |
| Ad(lar) | GitLab |
| Geliştirici(ler) | GitLab Inc. |
| Desteklenen Platformlar | Linux (resmi), Docker, Kubernetes, Bulut servisleri (AWS, GCP, Azure) |
| Kayıtlı Merkezi | San Francisco, Kaliforniya, ABD |
| Paketler | GitLab Community Edition (CE) – Açık kaynak,  GitLab Enterprise Edition (EE) – Ticari, kurumsal destekli |
| Lisans Türü | MIT (Topluluk Sürümü), Ticari Lisans (Enterprise Edition) |
| Kurucuları | Dmitriy Zaporozhets, Sid Sijbrandij |
| Temel Bileşen(ler) | GitLab Rails,NGINX,Workhorse,Sidekiq,Gitaly,PostgreSQL,Redis |

<!-- CONTEXT: Article Content for "GitLab " -->

## Article Content

**GitLab**, 2011 yılında **Dmitriy Zaporozhets** ve **Sid Sijbrandij** tarafından **San Francisco, Kaliforniya**'da kurulmuştur. Yazılım geliştirme süreçlerini hızlandırmayı, hataları erken aşamalarda tespit etmeyi ve süreci otomatikleştirmeyi amaçlayan bir platformdur. GitLab, yazılım geliştirme yaşam döngüsünün tüm aşamalarını kapsayan açık kaynaklı ve entegre bir **DevOps** platformudur. **Sürekli Entegrasyon (CI)** ve **Sürekli Dağıtım (CD)** gibi temel [DevOps](/tr/detay/devops-c817e/llms.txt) metodolojilerini uygulamak, güvenlik testlerini otomatikleştirmek, konteyner yönetimini sağlamak gibi işlemleri tek bir sistem altında birleştirir.

GitLab'ın yapısı, **DevOps** metodolojilerinin yanı sıra yazılım güvenliğini de entegre eden **DevSecOps** yaklaşımını destekleyecek şekilde tasarlanmıştır. Bu platform, yazılım geliştirme ekiplerinin daha verimli çalışmasına olanak tanırken, yazılım süreçlerinin hızlandırılmasını, güvenliğini ve kalitesini artırmayı hedefler.

#### **GitLab’ın Temel Özellikleri**

##### **Kod Yönetimi (Version Control System)**

GitLab, Git sürüm kontrol sistemini temel alır. Kullanıcılar; dallanma, birleştirme (merge request), [commit geçmişi](/tr/detay/git-versiyon-kontrol-f27ff/llms.txt) ve [kod gözden geçirme](/tr/detay/kod-gozden-gecirme-sistemleri-6eb7a/llms.txt) gibi işlevleri doğrudan GitLab arayüzünden gerçekleştirebilir. Bu, ekiplerin **asenkron ve güvenli kod geliştirme** süreçlerini kolaylaştırır.

##### **CI/CD (Continuous Integration & Continuous Deployment)**

GitLab [CI](/tr/detay/surekli-entegrasyon-testi-continuous-integration-t/llms.txt)/CD, her commit sonrasında otomatik test, derleme ve dağıtım akışlarını destekler. YAML tabanlı gitlab-ci.yml dosyasıyla **pipeline** tanımları kolayca oluşturulabilir. GitLab Runner’lar, bu süreçleri çalıştıran ajanlardır ve hem lokal hem de Kubernetes ortamlarında çalıştırılabilir.

##### **Proje ve Sürüm Yönetimi**

- Issue takip sistemi
- Kanban panoları
- Milestone bazlı sürüm planlaması
- Otomatik sürüm numaralandırma ve etiketleme

GitLab, sadece geliştiriciler için değil, ürün yöneticileri ve proje yöneticileri için de kapsamlı araçlar sunar.

##### **DevSecOps Uyumlu Güvenlik Özellikleri**

GitLab, yazılım güvenliğini yaşam döngüsünün her aşamasına entegre eder:

- Static Application Security Testing (SAST)
- Dynamic Application Security Testing (DAST)
- Container Scanning
- License Compliance

Bu güvenlik testleri, [pipeline](/tr/detay/islem-hatti-pipeline-435c3/llms.txt)'lar aracılığıyla otomatik biçimde tetiklenebilir.

#### **GitLab Mimarisi**

GitLab’ın esnek ve ölçeklenebilir mimarisi, özellikle büyük kurumların yüksek trafikli yazılım süreçlerini yönetebilmesini sağlar. Aşağıdaki bileşenler, bu mimarinin temelini oluşturur:

**GitLab Rails:** GitLab’ın temel servisidir. Web arayüzü, REST API ve birçok arka uç hizmetini yöneten ana bileşendir. Kullanıcı etkileşimlerinin büyük çoğunluğu bu katmanda gerçekleşir.

**PostgreSQL:** GitLab tarafından kullanılan ilişkisel veritabanı yönetim sistemidir. Tüm kullanıcı verileri, projelere ait metaveriler, sürüm geçmişi ve yapılandırma bilgileri burada saklanır.

**Redis:** Oturum yönetimi, önbellekleme ve iş kuyruklarının yönetimi için kullanılan yüksek hızlı, bellek içi veri deposudur. GitLab’ın performansını artırmak için kritik öneme sahiptir.

**Sidekiq:** Arka planda çalışan işleri yönetmek üzere yapılandırılmış işleyici sistemidir. E-posta bildirimleri, pipeline tetikleyicileri gibi zamanlama gerektiren görevler bu yapı aracılığıyla yürütülür.

**Nginx:** Kullanıcıdan gelen HTTP ve HTTPS isteklerini GitLab bileşenlerine yönlendiren bir ters proxy (reverse proxy) sunucusudur. Aynı zamanda TLS şifreleme trafiğini sonlandırma görevini de üstlenir.

**Gitaly:** Git deposu işlemlerinin merkezi olarak yürütülmesini sağlayan özel arka plan servisidir. Git işlemleri (örneğin, klonlama, çekme, birleştirme) Gitaly tarafından yüksek verimlilikle gerçekleştirilir.

**GitLab Workhorse:** HTTP katmanında çalışan bir proxy sunucusudur. Büyük dosya yükleme, API isteği yönlendirme ve içerik dönüştürme gibi operasyonları optimize eder ve ana Rails uygulamasına yük bindirmeden destek sağlar.

**Prometheus + Grafana:** GitLab’ın sistem kaynaklarını ve performans metriklerini izlemek için kullanılan gözlemleme araçlarıdır. Prometheus veri toplarken, Grafana bu verileri görsel olarak analiz edilebilir hale getirir.

GitLab, bu bileşenlerin yatay olarak dağıtılabildiği **reference architecture**’lar da sunar. Yüksek erişilebilirlik (HA) ve yük dengeleme gereksinimlerine göre PostgreSQL cluster'ları, Gitaly sunucuları ve CI Runner node'ları ayrı ayrı konuşlandırılabilir.

#### **GitLab Uygulama Mimarisi: Bileşen Tabanlı Bir İnceleme**

Aşağıda sunulan mimari şema, **GitLab'ın monolitik ancak modüler yapısını** yansıtarak, sistem bileşenlerinin birbirleriyle nasıl etkileşime girdiğini detaylı biçimde ortaya koymaktadır. GitLab’ın mimarisi, kullanıcıdan gelen HTTP/SSH isteklerinin iç sistem bileşenleri (Rails, [Redis](/tr/detay/redis-ee852/llms.txt), PostgreSQL, Gitaly vb.) tarafından nasıl işlendiğini gösterir. Bu yapı, hem yazılım geliştirme ekiplerinin verimliliğini artırmakta hem de yüksek erişilebilirlik ve performans hedeflerine ulaşılmasını mümkün kılmaktadır. (https://panlw.github.io/15365441001781.html)

![Image](https://cdn.kureansiklopedi.com/media/uploads/2025/05/14/PREC4UPpbli1zXc4TExMshozpbCmvDny.jpg)
*Gitlab Uygulama Mimarisi-*

##### **Giriş Noktaları ve Yönlendirme Katmanı**

**NGINX**

- GitLab sistemine gelen tüm HTTP (80) ve HTTPS (443) istekleri, ilk olarak **NGINX** tarafından karşılanır.
- NGINX, ters proxy (reverse proxy) görevini üstlenerek gelen trafiği **GitLab Workhorse** bileşenine yönlendirir.
- Aynı zamanda **TLS sonlandırma** işlemi de bu katmanda gerçekleştirilir.

**GitLab Shell**

- Kullanıcıların **SSH (TCP 22)** üzerinden gerçekleştirdiği Git işlemleri, doğrudan **GitLab Shell** üzerinden yönetilir.
- GitLab Shell, istemci isteklerini Rails uygulamasına yönlendiren ve kimlik doğrulamasını sağlayan bir arayüz görevi görür.

##### **Uygulama Katmanı**

**GitLab Workhorse**

- **NGINX’ten gelen isteklerin işlenmesini optimize eden** bir ara katmandır.
- Büyük dosya yüklemeleri, API çağrılarının ön işlemesi ve içerik önbellekleme gibi görevleri üstlenir.
- Gerektiğinde istekleri doğrudan **Unicorn** (veya modern kurulumlarda **Puma**) sunucusuna iletir.

**Unicorn (GitLab Rails)**

- GitLab’ın asıl uygulama mantığını yürüten sunucudur. REST API uç noktalarını ve web arayüzünü barındırır.
- Kullanıcı arabirimi, proje yönetimi, issue takibi ve pipeline tetikleyicileri gibi işlevler bu katmanda gerçekleşir.
- **Redis** ve **PostgreSQL** ile sürekli etkileşim halindedir.

##### **Destek ve Arka Plan Katmanları**

**Redis**

- Hem **önbellekleme** (cache) hem de **iş kuyruğu yönetimi** için kullanılmaktadır.
- GitLab Workhorse, Unicorn, Sidekiq ve Gitaly gibi bileşenler Redis ile veri alışverişi yapar.
- Redis, kullanıcı oturumlarının yönetimi ve iş yüklerinin sıraya alınması açısından kritiktir.

**PostgreSQL**

- GitLab’ın tüm yapısal ve kullanıcı verileri **PostgreSQL ilişkisel veritabanında** saklanır.
- Projeler, commit geçmişi, kullanıcı bilgileri ve metadata verileri burada tutulur.
- Rails sunucusu bu veritabanı ile doğrudan bağlantı kurar.

**Sidekiq**

- Arka planda çalışan görevleri (arka plan işleri) işleyen bileşendir.
- E-posta bildirimleri, webhook tetikleyicileri, zamanlanmış işler ve CI süreçleri burada yürütülür.
- Redis üzerinden sıraya alınan görevleri çeker ve işler.

##### **Depo Katmanı**

**Gitaly**

- GitLab’ın kaynak kod yönetimini sağlayan özel bileşenidir.
- Tüm Git işlemleri (klonlama, push/pull, diff, blame vs.) **Gitaly sunucusu** üzerinden yönetilir.
- Verimlilik açısından ayrı bir katmanda çalıştırılır ve **GitLab Rails** ile entegre çalışır.

**Yardımcı Hizmetler**

**GitLab Pages (TCP 8090)**

- GitLab, projelerin statik içeriklerini yayınlamayı destekleyen **GitLab Pages** bileşenini içerir.
- Örneğin, Jekyll veya Hugo ile oluşturulmuş belgeler bu sunucuda yayınlanabilir.
- İstekler, NGINX üzerinden Pages sunucusuna yönlendirilir.

#### **Kapsayıcı (Container) ve Kayıt Sistemleri**

GitLab, **Docker tabanlı geliştirme ve dağıtım** süreçlerine tam destek sağlar. Kullanıcılar kendi [container registry](/tr/detay/docker-8baa9/llms.txt)’lerini GitLab üzerinden oluşturabilir, yönetebilir ve pipeline’larla entegre edebilirler. Bu sayede dış bağımlılıklar azalır, süreçler kapalı devre güvenli bir ortamda sürdürülür.

#### **Eğitim ve Dokümantasyon Olanakları**

GitLab, açık kaynak doğası gereği zengin bir eğitim ve dokümantasyon altyapısına sahiptir. [GitLab University](/tr/detay/gitlab-b860f/llms.txt), CI temellerinden gelişmiş pipeline yapısına kadar birçok konuda interaktif öğrenme yolları sunar.

#### **Akademik ve Endüstriyel Kullanım Örnekleri**

- **Zürih Üniversitesi** (Vassallo, 2020): GitLab’ın, öğrenci projelerinde sürekli entegrasyon ve geri bildirim sistemi olarak kullanıldığı belgelenmiştir.
- **OSTI & DOE** (ABD Enerji Bakanlığı): GitLab, enerji sistemleri yazılımının sürüm kontrolü ve kod bütünlüğünü korumak için aktif kullanılmaktadır.
- **Springer (2020)**: GitLab, bilimsel araştırmalarda veri analitiği pipeline'larının kontrolü için önerilen sistemler arasında gösterilmektedir.

GitLab, çağdaş yazılım geliştirme ihtiyaçlarına cevap verebilecek **tam entegre bir DevOps platformudur**. [Sürüm kontrolü](/tr/detay/versiyon-kontrol-sistemleri/llms.txt), CI/CD, güvenlik, izleme ve iş birliği gibi tüm ihtiyaçlar tek bir yapı altında sağlanırken; açık kaynak yapısı, özelleştirilebilirliği ve kurumsal uyumu sayesinde her ölçekte organizasyona hitap etmektedir.

GitLab’ın sunduğu modüler mimari ve yüksek ölçeklenebilirlik kapasitesi, geleceğin **otomatize yazılım üretim süreçleri** için ideal bir temel sunmaktadır.

<!-- CONTEXT: Academic Sources and References for "GitLab " -->

## Academic Sources and References

1. GitLab. “CI/CD Pipelines.” GitLab Documentation. https://docs.gitlab.com/ci/. Erişim tarihi: 15 Mayıs 2025.
2. GitLab. “Container Registry.” GitLab Documentation. https://docs.gitlab.com/user/packages/container\_registry/. Erişim tarihi: 15 Mayıs 2025.
3. GitLab. “Development Architecture.” GitLab Documentation. https://docs.gitlab.com/development/architecture/. Erişim tarihi: 15 Mayıs 2025.
4. GitLab. “Features.” GitLab.com. https://about.gitlab.com/features/. Erişim tarihi: 15 Mayıs 2025.
5. GitLab. “GitLab CI Fundamentals.” GitLab University. https://university.gitlab.com/learning-paths/gitlab-ci-fundamentals. Erişim tarihi: 15 Mayıs 2025.
6. GitLab. “Reference Architectures.” GitLab Documentation. https://docs.gitlab.com/administration/reference\_architectures/. Erişim tarihi: 15 Mayıs 2025.
7. GitLab. “Runner.” GitLab Documentation. https://docs.gitlab.com/runner/. Erişim tarihi: 15 Mayıs 2025.
8. GitLab. “Security Hardening.” GitLab Documentation. https://about.gitlab.com/security/hardening/. Erişim tarihi: 15 Mayıs 2025.
9. OSTI. “Modern DevOps Infrastructure for Scientific Applications.” U.S. Department of Energy (OSTI). https://www.osti.gov/servlets/purl/1594298. Erişim tarihi: 15 Mayıs 2025.
10. Pan, Liwen. “GitLab Architecture: Internal Components Overview.” panlw.github.io. https://panlw.github.io/15365441001781.html. Erişim tarihi: 15 Mayıs 2025.
11. Simplilearn. “What Is GitLab?” Simplilearn Git Tutorial. https://www.simplilearn.com/tutorials/git-tutorial/what-is-gitlab. Erişim tarihi: 15 Mayıs 2025.
12. Springer. “A Comparative Study on CI/CD Tools in Research.” Springer Open Access. https://link.springer.com/content/pdf/10.1186/s41469-020-00087-8.pdf. Erişim tarihi: 15 Mayıs 2025.
13. TechTarget. “GitLab Definition.” TechTarget WhatIs. https://www.techtarget.com/whatis/definition/GitLab. Erişim tarihi: 15 Mayıs 2025.
14. Vassallo, Cristina, Alberto Bacchelli, Harald Gall, ve Michele Lanza. “CI/CD Feedback in Student Software Engineering Projects.” Proceedings of the 2020 IEEE/ACM 42nd International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). ZORA Repository, University of Zurich. https://www.zora.uzh.ch/id/eprint/198329/1/VassalloFSE2020.pdf. Erişim tarihi: 15 Mayıs 2025.

<!-- CONTEXT: Related Articles for "GitLab " -->

## Related Articles

- [Slurm ](//detay/slurm-97618/llms.txt)
- [Jupyter Notebook ](//detay/jupyter-notebook-64ca3/llms.txt)
- [Nextcloud ](//detay/nextcloud-d5506/llms.txt)
- [DevOps ](//detay/devops-c817e/llms.txt)
- [MySQL ](//detay/mysql-82de2/llms.txt)
- [SSL](//detay/ssl-a0e6d/llms.txt)