GitHub memimpin lewat komunitas, tetapi tidak semua tim mencari komunitas. Tim produk sering menginginkan satu aplikasi yang menampung repository sekaligus pipeline pengujian dan deployment; perusahaan yang mengurus data sensitif kadang tidak boleh menitipkan kodenya ke server pihak ketiga sama sekali. Kedua kebutuhan itu adalah celah yang sejak awal diisi GitLab — dan cara mengisinya, lewat model lisensi serta arsitektur yang bisa dipasang sendiri, menjadikannya pesaing paling berbeda dari GitHub .

Asal-usul dan Perusahaan #

GitLab dirintis tahun 2011 oleh Dmytro Zaporozhets dan Valery Sizov sebagai proyek open source, lalu berkembang menjadi produk yang kini dikembangkan perusahaan GitLab Inc. Basis kodenya tetap bisa dibaca publik — perusahaan menjalankan model open-core: inti platformnya terbuka, sementara fitur tambahan untuk pelanggan berbayar ditutup. Situs layanan cloud-nya beralamat di gitlab.com, dan seluruh operasi Git standar (clone, fetch, push) bekerja sama persis seperti di platform lain.

Diferensiasi Utama: Open-Core dan Self-Hosted #

Dua kata inilah pembeda terbesar GitLab dibanding pesaingnya. Karena sebagian besar kode platformnya terbuka, siapa pun bisa mengunduh dan memasang GitLab di server sendiri — opsi self-hosted yang utuh, bukan sekadar produk server berbayar. Distribusinya dikenal dua edisi:

EdisiKarakterSasaran
Community Edition (CE)lisensi terbuka, fitur inti lengkaptim yang ingin memasang sendiri tanpa biaya lisensi
Enterprise Edition (EE)kode terbuka, fitur lanjutan aktif dengan langgananorganisasi yang butuh fitur kepatuhan dan skala besar

Perbandingan dengan GitHub menjadi tajam di titik ini: kebijakan GitHub diatur di pusatnya, sedangkan administrator GitLab self-hosted mengatur sendiri di mesinnya — termasuk keputusan kapan upgrade dilakukan dan siapa yang boleh mendaftar. Bagi institusi pendidikan atau perusahaan dengan kebijakan data ketat, perbedaan ini sering menjadi alasan utama bermigrasi.

CI/CD Bawaan #

Fitur yang paling sering membedakan pengalaman sehari-hari adalah pipeline yang menyatu di dalam platform. Konfigurasi pipeline GitLab hidup dalam satu berkas di akar repository bernama .gitlab-ci.yml — tidak ada layanan eksternal yang perlu disambungkan. Contoh bentuk paling sederhana:

yaml
stages:
  - uji

uji-sintaks:
  stage: uji
  script:
    - php -l src/

Struktur berkas ini layak dibaca pelan: stages mendefinisikan tahap pipeline (di sini satu tahap bernama uji), sedangkan uji-sintaks adalah sebuah job — pekerjaan bernama yang dijalankan mesin runner dengan perintah pada bagian script. Setiap git push membuat GitLab membaca ulang berkas ini dan menjalankan pipeline-nya; hasilnya — sukses, gagal, atau masih berjalan — terbaca langsung di halaman repository tanpa meninggalkan platform. Konsep mesin yang menjalankan perintah Git secara otomatis ini adalah kelanjutan alami dari materi Git dalam CI/CD .

Fitur Kolaborasi #

Di sisi kolaborasi, GitLab memakai kosakata sendiri: usulan penggabungan disebut merge request, padanan pull request di GitHub. Fitur lain yang menyertainya:

FiturPeran
Issues dan boardspelacak pekerjaan dengan papan kanban untuk memvisualisasikan status
Container registrymenyimpan image Docker di dalam proyek yang sama
Wiki dan snippetdokumentasi dan potongan kode bersama dalam satu wadah

Kosakata berbeda, mekanisme Git tetap sama: merge request pada akhirnya juga menuntut branch, commit, dan resolusi konflik — semua keterampilan yang sudah kita latih di section Kolaborasi Tim .

SaaS atau Self-Managed #

GitLab menawarkan dua cara memakai platform yang sama. Pilihannya menentukan siapa yang mengurus server, cadangan, dan upgrade:

ModeAlamatDikelola olehCocok untuk
SaaSgitlab.comGitLab Inc.tim yang ingin langsung jalan tanpa urusan infrastruktur
Self-managedserver sendiritim/perusahaan kitadata dan kebijakan yang harus tetap di dalam kendali

Keduanya menjalankan basis kode yang sama, sehingga repository bisa dipindahkan antara keduanya dengan git clone --mirror dan git push --mirror ketika kebutuhan berubah. Dokumentasi lengkap semua fitur — dengan jalur ee/ yang menjadi rumah umum halaman-halaman edisi Enterprise — tersedia di docs.gitlab.com , dan daftar proyek publiknya dapat dijelajahi di gitlab.com .

GitLab kuat sebagai platform satu atap, tetapi ada tim yang kekuatannya justru terletak pada tetangga-tetangganya: alat pelacakan kerja, wiki, dan papan kanban yang sudah dipakai perusahaan bertahun-tahun sebelum Git lahir. Rumah bagi ekosistem semacam itu adalah Bitbucket, chapter ketiga.