GITLAB VE GITLAB CI EĞİTİMİ

GitLab ve CI/CD'yi birlikte öğrenin

Merge request, protected branch, .gitlab-ci.yml, runner, registry, review app ve güvenlik taramalarını GitLab'da uygulamalı kurun

GitLab proje yönetimi ve .gitlab-ci.yml ile runner, cache, registry, review app ve güvenlik taramalı pipeline kurmayı uygulamalı öğrenin.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

GitLab proje yönetimi ve CI/CD pipeline yazımı

Eğitim, Git temellerini GitLab ortamında pekiştirdikten sonra grup ve proje yapısı, rol modeli, merge request ve approval kuralları ile devam eder. .gitlab-ci.yml sözdizimi, stage ve job tasarımı, rules ve needs, runner executor türleri, artifact ve cache, CI/CD değişkenleri, Container Registry, environments ve review app, SAST ve dependency scanning uygulamalı olarak işlenir.

Süre ve Format

3 Gün. Her gün dört modül; 1. gün Git Temelleri ve GitLab Projesi; 2. gün Stratejiler ve Pipeline Yazımı; 3. gün Dağıtım, Altyapı ve Yönetim.

Seviye

Orta Seviye — GitLab merge request akışından CI/CD pipeline ve dağıtım güvenliğine uzanan platform yelpazesi

Öğrenme Metodu

Katılımcılar gitlab.com hesabında bir uygulama projesi için build-test-deploy pipeline'ı yazar, Docker runner kaydeder, imajı registry'ye gönderir ve güvenlik taramalarını ekler.

Neden Bu Eğitim?

🦊GitLab Bütünlüğü

Kaynak kod, CI/CD, registry ve güvenlik taramasını tek platformda yönetirsiniz.

🔁Pipeline Hakimiyeti

Aşamalı, önbellekli ve koşullu .gitlab-ci.yml hatları yazarak teslimat süresini kısaltırsınız.

🏗️Kendi Altyapınız

Self-managed GitLab'ın kurulum, yedekleme ve yükseltme süreçlerine hâkim olursunuz.

Anahtar Konular

gitlab eğitimigitlab cigitlab ci/cd.gitlab-ci.ymlgitlab runnermerge requestgitlab container registrygitlab sastreview appgitlab pipeline
“Pipeline, bir ekibin kalite sözleşmesinin çalıştırılabilir halidir.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Git Bilgisi

Temel Git komutlarına ve dal mantığına aşina olmak gerekir.

2
Linux ve Docker

Temel Linux komutları ve Docker kavramları pipeline örneklerinde faydalı olur.

3
YAML Okuryazarlığı

YAML sözdizimini okuyup yazabilmek beklenir.

4
Laboratuvar Ortamı

Docker çalıştırabilen bir bilgisayar ve gitlab.com hesabı gerekir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı gün sonunda Git komut akışını GitLab üzerinde uygular; grup, rol ve merge request süreçlerini kurar.
Modül 1
Temel Git Komutları ve Commit Akışı
  • git init ve git clone ile depo oluşturma, .git dizininin içeriği
  • git status, git add -p ve git commit -m ile parça parça (hunk) seçerek commit hazırlama
  • git diff, git diff --staged ve git diff HEAD~1 ile değişikliklerin karşılaştırılması
  • git log --oneline --graph --decorate, --author ve -S ile tarihçede arama
  • .gitignore desenleri, global ignore dosyası ve zaten izlenen dosyayı git rm --cached ile çıkarma
  • Anlamlı commit mesajı yazımı: konu satırı sınırı, gövde, Conventional Commits formatı
Modül 2
Dallanma ve Birleştirme
  • git branch, git switch -c ve git checkout farkları; dal oluşturmanın neden ucuz olduğu
  • Fast-forward ve üç yönlü (recursive/ort) birleştirme; --no-ff ile birleştirme commit'i zorlama
  • Çakışma işaretleri (<<<<<<<, =======, >>>>>>>) ve elle çözüm, git merge --abort
  • git mergetool, VS Code birleştirme editörü ve diff3 çakışma stili (merge.conflictstyle)
  • git branch --merged, -d ve -D ile birleşmiş dalların temizliği
  • Uzun ömürlü dal ile kısa ömürlü konu dalı (topic branch) arasındaki pratik farklar
Modül 3
Uzak Depolar ve Senkronizasyon
  • git remote add/-v, origin ve upstream adlandırma kuralları
  • git fetch ile git pull farkı; pull --rebase ve pull.rebase yapılandırması
  • git push -u, upstream tracking ve git branch -vv çıktısının okunması
  • git push --force-with-lease ile güvenli zorla gönderim ve neden --force'tan üstün olduğu
  • git remote prune ve fetch --prune ile uzakta silinmiş dalların yerelden temizlenmesi
  • Birden fazla uzak depo kullanımı: fork akışında upstream senkronizasyonu ve mirror push
Modül 4
GitLab Temelleri: Grup, Proje ve Merge Request
  • GitLab arayüzü: grup, alt grup, proje hiyerarşisi ve görünürlük seviyeleri
  • Rol modeli: Guest, Reporter, Developer, Maintainer, Owner ve proje üyeliği
  • Merge request akışı: taslak, onay kuralları (approval rules), pipeline sonucu ve squash seçeneği
  • Protected branches, push kuralları ve code owners ile dal koruma
  • Issues, etiketler (scoped labels), milestones, boards ve epic ile planlama
  • Wiki, snippet'lar, Web IDE ve GitLab Flow (ortam dalları) yaklaşımı
Günün hedefiKatılımcı gün sonunda Dallanma stratejisini seçer, hook ve etiketleme kurar ve ilk çok aşamalı pipeline'ı yazar.
Modül 1
Dallanma Stratejileri: Git Flow, GitHub Flow, Trunk-Based
  • Git Flow modeli: main, develop, feature, release ve hotfix dallarının rolleri ve ömürleri
  • GitHub Flow: tek ana dal, kısa ömürlü dal ve pull request ile sürekli dağıtım
  • Trunk-based development: küçük commit'ler, günlük entegrasyon ve feature flag kullanımı
  • Release dalı yönetimi, sürüm bakım dalları (release/1.x) ve hotfix'in ana dallara geri aktarımı
  • Takım büyüklüğü, dağıtım sıklığı ve ürün tipine göre strateji seçim kriterleri
  • Dal isimlendirme standartları (feature/, bugfix/, release/) ve dal koruma kurallarıyla zorunlu kılma
Modül 2
Git Hooks ve Otomatik Kalite Kontrolleri
  • client-side hook'lar: pre-commit, prepare-commit-msg, commit-msg, pre-push
  • .git/hooks dizini ve core.hooksPath ile hook'ların depoyla paylaşılması
  • pre-commit framework: .pre-commit-config.yaml, black, flake8, eslint ve trailing-whitespace kontrolleri
  • Husky ve lint-staged ile Node.js projelerinde commit öncesi lint ve test
  • commit-msg hook ile Conventional Commits doğrulaması (commitlint)
  • Sunucu tarafı hook'lar (pre-receive, update, post-receive) ve --no-verify kullanımının riskleri
Modül 3
Etiketleme ve Sürüm Yönetimi
  • Lightweight ve annotated etiket farkı; git tag -a -m ve git push --tags
  • Semantic Versioning (MAJOR.MINOR.PATCH) kuralları ve ön sürüm etiketleri (-rc.1, -beta)
  • git describe ile commit'ten en yakın etiketi bulma ve build numarası üretme
  • GPG veya SSH imzalı commit/etiket (git tag -s, commit.gpgsign) ve doğrulama
  • Conventional Commits'ten otomatik CHANGELOG üretimi (standard-version, semantic-release)
  • Yanlış etiketi silme ve yeniden oluşturma (git tag -d, git push --delete) ile ekibe etkisi
Modül 4
GitLab CI/CD ve .gitlab-ci.yml
  • .gitlab-ci.yml yapısı: stages, jobs, script, before_script, image ve services
  • rules, only/except, needs ve DAG ile koşullu ve paralel job akışı
  • GitLab Runner kurulumu: shell, docker ve kubernetes executor; runner tag'leri ve register işlemi
  • artifacts, cache, dependencies ve reports (junit, coverage) ile çıktı ve test raporu yönetimi
  • CI/CD variables: protected/masked değişkenler, dosya tipi değişkenler ve environment scope
  • include, extends, !reference ve YAML anchor'ları ile pipeline şablonlama; child ve multi-project pipeline
Günün hedefiKatılımcı gün sonunda Registry, review app ve güvenlik taramalarını ekler; altyapı kodu akışını ve GitLab yönetimini ele alır.
Modül 1
GitLab Dağıtım, Registry ve Güvenlik Taramaları
  • Environments, deployment ve manuel onaylı (when: manual) production dağıtımı; review apps
  • Container Registry ile docker build/push ve $CI_REGISTRY_IMAGE, CI_JOB_TOKEN kullanımı
  • Package Registry (npm, Maven, PyPI) ve Terraform state yönetimi
  • SAST, Secret Detection, Dependency Scanning ve Container Scanning şablonlarının pipeline'a eklenmesi
  • DAST ve Security Dashboard ile zafiyet yönetimi; merge request güvenlik widget'ı
  • Auto DevOps ve Kubernetes entegrasyonu (GitLab Agent for Kubernetes) ile GitOps yaklaşımı
Modül 2
Altyapı Kodu için Sürüm Kontrolü
  • Infrastructure as Code depolarında Git: Terraform, Ansible ve Kubernetes manifest yapısı
  • Ortam dalı ile ortam dizini yaklaşımı (dev/stage/prod) ve değişiklik akışının karşılaştırılması
  • terraform.tfstate dosyasını Git'e koymama kuralı, remote state ve .gitignore örnekleri
  • Pull request ile terraform plan çıktısı, onay ve apply otomasyonu
  • GitOps: Argo CD veya Flux ile Git'in tek doğru kaynak (single source of truth) olması
  • Sırların yönetimi: SOPS, sealed-secrets ve Vault ile şifreli konfigürasyon commit etme
Modül 3
GitLab Self-Managed Kurulum ve Yönetim
  • Omnibus paketi ile kurulum, sistem gereksinimleri ve gitlab.rb yapılandırması; gitlab-ctl reconfigure
  • external_url, HTTPS (Let's Encrypt veya kurumsal sertifika) ve reverse proxy ayarları
  • LDAP / Active Directory, SAML ve OAuth ile merkezi kimlik doğrulama; SMTP bildirim ayarı
  • gitlab-backup create / restore, gitlab-secrets.json yedeği ve yedekleme zamanlaması
  • Sürüm yükseltme yolu (upgrade path), zero-downtime upgrade ve gitlab-rake gitlab:check
  • İzleme ve ölçekleme: Prometheus/Grafana, Gitaly, Sidekiq, Geo replikasyonu ve Praefect
Modül 4
Takım İçi Git Pratikleri ve Çalışma Sözleşmesi
  • Commit mesajı standardı, atomik commit ilkesi ve tek amaçlı PR yaklaşımı
  • Takım Git sözleşmesi: dal adlandırma, merge/rebase politikası, kimin ne zaman force push yapabileceği
  • Çakışmayı azaltan pratikler: sık entegrasyon, küçük dosyalar, format kuralları (.editorconfig, prettier)
  • Monorepo ve çoklu depo düzeninde sahiplik, CODEOWNERS ve sürüm yönetimi
  • Kod incelemesi etiği ve gözden geçirme süresi hedefleri; PR boyutu sınırı
  • Yeni üyenin ilk gün onboarding'i: erişim, hook kurulumu ve katkı kılavuzu

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Günlük Commit Akışı

Değişiklikleri doğru kapsamda staging'e alıp okunabilir commit'ler üretirsiniz.

🎯
Dallanma ve Merge

Dalları açıp birleştirir, çakışmaları kontrollü biçimde çözersiniz.

🔧
GitLab Temelleri

GitLab'da grup, proje ve merge request akışını kurup yönetirsiniz.

🧩
Strateji Seçimi

Takımınıza uygun dallanma stratejisini seçip uygulayabilirsiniz.

📦
Sürüm Etiketleme

SemVer etiketleri ve imzalı sürümlerle izlenebilir sürüm yayını yaparsınız.

🚀
GitLab CI/CD

Çok aşamalı, cache ve artifact destekli GitLab pipeline'ları yazarsınız.

🔒
Altyapı ve Git

Altyapı kodunu PR tabanlı, denetlenebilir bir Git akışıyla yönetirsiniz.

📊
GitLab Yönetimi

Kendi sunucunuzda GitLab kurup yedekleme, LDAP ve yükseltme süreçlerini yönetirsiniz.

Kimler İçin Uygundur?

  • Yazılım geliştiriciler
  • DevOps mühendisleri
  • sistem yöneticileri
  • GitLab üzerinde CI/CD hatları kuracak teknik ekipler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Yazılım geliştiriciler, DevOps mühendisleri, sistem yöneticileri ve GitLab üzerinde CI/CD hatları kuracak teknik ekipler için uygundur.
Eğitimde gitlab.com mu self-managed mı kullanılır?
Uygulamalar gitlab.com üzerinde yapılır; self-managed kurulum ve yönetim üçüncü günde ele alınır.
Runner kurulumu uygulamalı mı?
Evet. Docker executor ile özel runner kaydedilir; Kubernetes executor mimarisi anlatılır.
Pipeline şablonlama işleniyor mu?
Evet. include, extends, !reference ve child/multi-project pipeline örnekleri uygulanır.
Eğitim sonunda hangi belge verilir?
Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Gitlab ve Gitlab CI Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Sürüm Kontrolü ve İşbirliğiWorking with GitHub Eğitimi
Yazılım Geliştirme Eğitimleri

Working with GitHub Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Working with GitHub: fork, pull request, kod inceleme, branch protection, Issues, Projects, GitHub Actions, Dependabot, secret scanning, Copilot ve gh CLI.

Detayları Gör →
Sürüm Kontrolü ve İşbirliğiBitbucket ile Kod Yönetimi Eğitimi
Yazılım Geliştirme Eğitimleri

Bitbucket ile Kod Yönetimi Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Bitbucket ile Kod Yönetimi eğitimi: bitbucket üzerinde depo, inceleme ve CI/CD akışını uçtan uca yönetin. 3 gün uygulamalı lab ve DVA Katılım ve Başarı Sertifik

Detayları Gör →
Sürüm Kontrolü ve İşbirliğiGelişmiş Git Teknikleri ve İş Akışları Eğitimi
Yazılım Geliştirme Eğitimleri

Gelişmiş Git Teknikleri ve İş Akışları Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

Gelişmiş Git Teknikleri ve İş Akışları eğitimi: git'in iç mantığını bilerek karmaşık durumları çözün. 3 gün uygulamalı lab ve DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
Sürüm Kontrolü ve İşbirliğiGit Hookları ve Otomasyon Eğitimi
Yazılım Geliştirme Eğitimleri

Git Hookları ve Otomasyon Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Git Hookları ve Otomasyon eğitimi: git hook'larıyla kalite ve güvenlik kontrollerini otomatikleştirin. 2 gün uygulamalı lab ve DVA Katılım ve Başarı Sertifikası

Detayları Gör →
Sürüm Kontrolü ve İşbirliğiGit ile Sürüm Kontrolü ve Kod İncelemesi Eğitimi
Yazılım Geliştirme Eğitimleri

Git ile Sürüm Kontrolü ve Kod İncelemesi Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Git ile Sürüm Kontrolü ve Kod İncelemesi eğitimi: sürüm kontrolü ile kod inceleme kültürünü bir arada kurun. 3 gün uygulamalı lab ve DVA Katılım ve Başarı Serti

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn