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:
| Edisi | Karakter | Sasaran |
|---|---|---|
| Community Edition (CE) | lisensi terbuka, fitur inti lengkap | tim yang ingin memasang sendiri tanpa biaya lisensi |
| Enterprise Edition (EE) | kode terbuka, fitur lanjutan aktif dengan langganan | organisasi 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:
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:
| Fitur | Peran |
|---|---|
| Issues dan boards | pelacak pekerjaan dengan papan kanban untuk memvisualisasikan status |
| Container registry | menyimpan image Docker di dalam proyek yang sama |
| Wiki dan snippet | dokumentasi 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:
| Mode | Alamat | Dikelola oleh | Cocok untuk |
|---|---|---|---|
| SaaS | gitlab.com | GitLab Inc. | tim yang ingin langsung jalan tanpa urusan infrastruktur |
| Self-managed | server sendiri | tim/perusahaan kita | data 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.