GitLab
- Okunuşu
- git leb
Kısaca
GitLab, kod inceleme, iş takibi, CI/CD ve güvenlik taramasını tek uygulamada toplayan, bulutta ya da kendi sunucunuzda çalışan Git barındırma platformudur.
GitLab nedir?
GitLab, 2011'de Dmitriy Zaporozhets ve Valery Sizov tarafından açık kaynaklı bir proje olarak başlatıldı; GitLab Inc. şirketi de 2021'de halka açıldı. GitHub gibi Git depolarını barındırır ve üzerine iş birliği ekler, ama planlamadan dağıtıma ve izlemeye kadar bütün yazılım yaşam döngüsünü tek bir üründe kapsamaya daha çok önem verir.
Kod incelemesi, GitLab'in pull request'lere verdiği ad olan merge request'lerde yapılır. Yerleşik CI/CD'si depodaki bir .gitlab-ci.yml dosyasında, GitLab'in barındırdığı ya da kendi makinelerinize kurulan runner'lar, aşamalar ve işlerle yapılandırılır. Container ve paket registry'leri, ortamlar, dağıtım onayları ve bağımlılıklar, container'lar ve kod için güvenlik tarayıcıları aynı platformun parçasıdır.
Kuruluşların GitLab'i seçmesinin büyük bir nedeni kendi sunucularında barındırabilmeleridir. Çekirdeği açık kaynaktır; bankalar ve kamu kurumları gibi sıkı güvenlik ya da uyumluluk gereksinimleri olan şirketler GitLab'i tamamen kendi ağlarının içinde, kendi sunucularında çalıştırabilir; diğerleri ise barındırılan gitlab.com servisini kullanır.
Sık yapılan bir yanlış, GitLab ile Git'in aynı şey olduğunu ya da GitLab'in yalnızca GitHub'ın bir kopyası olduğunu düşünmektir. Git sürüm kontrol aracıdır; GitLab ve GitHub ise onun etrafında kurulmuş, farklı güçlü yanları olan ayrı platformlardır; bir depo aralarında taşınabilir ya da ikisine birden yansıtılabilir (mirror).
Önemli noktalar
- GitLab, Git depolarını inceleme, iş takibi ve CI/CD ile tek bir yerde barındırır.
- 2011'de başladı ve 2021'de halka açık bir şirket oldu.
- Merge request'ler onun pull request'leridir; hatlar .gitlab-ci.yml'de yaşar.
- Kendi sunucunuzda barındırılabilir; bu da sıkı güvenlik gereksinimlerine uyar.
- Git araçtır; GitLab ve GitHub onun üzerine kurulmuş platformlardır.
Örnek
stages: [test, deploy]
test:
stage: test
image: node:22
script:
- npm ci
- npm test
deploy:
stage: deploy
script:
- ./deploy.sh production
environment: production
rules:
- if: $CI_COMMIT_BRANCH == "main" # deploy only from mainSık sorulan sorular
GitLab ile GitHub arasındaki fark nedir?
İkisi de kod inceleme ve CI/CD ile Git depoları barındırır. GitHub'ın en büyük açık kaynak topluluğu ve pazar yeri vardır. GitLab ise DevOps yaşam döngüsünün daha fazlasını tek bir üründe toplar ve kodu kendi sunucularında tutan kuruluşlar tarafından yaygın olarak kendi sunucularında barındırılır.
Merge request nedir?
GitLab'in pull request için kullandığı terimdir: bir branch'i diğerine birleştirme önerisi; değişiklikler birleştirilmeden önce incelenir, tartışılır ve hatlar tarafından kontrol edilir.
GitLab ücretsiz mi?
GitLab'in gitlab.com'da ücretsiz bir katmanı ve kendi sunucunuzda barındırmak için ücretsiz, açık kaynaklı bir sürümü vardır. Ücretli katmanlar, gelişmiş güvenlik taraması, uyumluluk ve planlama araçları gibi büyük ekipler için özellikler ekler.
İlgili sayfalar
- GitSürüm Kontrolü, s. 10Git, dosyalardaki değişiklikleri zamanla izleyen ücretsiz, açık kaynaklı dağıtık sürüm kontrol sistemidir; iş birliğini ve hataları geri almayı kolaylaştırır.
- GitHubSürüm Kontrolü, s. 25GitHub, Git depolarını barındırıp birlikte kod yazmaya yarayan; pull request, kod incelemesi, issue ve en büyük açık kaynak topluluğunu sunan platformdur.
- Pull RequestSürüm Kontrolü, s. 32Pull request, bir branch'teki değişiklikleri başka bir branch'e birleştirme önerisidir; kod birleşmeden önce ekibe inceleme, tartışma ve test alanı sunar.
- CI/CDDevOps ve Bulut, s. 9CI/CD, kod değişikliklerini sık sık derleyen, test eden ve yayınlayan otomatik pratikler bütünüdür; yazılım kullanıcılara hızlı ve güvenli biçimde ulaşır.
- Code ReviewSürüm Kontrolü, s. 4Code review, kod değişikliklerinin birleştirilmeden önce başka geliştiricilerce incelenmesidir; hataları yakalar, kaliteyi artırır, bilgi paylaşımını sağlar.
- RepositorySürüm Kontrolü, s. 34Repository, bir projenin tüm dosyalarını ve sürüm kontrol sisteminin kaydettiği her değişikliğin eksiksiz geçmişini barındıran depolama alanıdır.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin