- Memperkenalkan pengalaman menggunakan GitLab dalam jangka panjang dengan fokus pada pengelolaan proyek pribadi dan integrasi CI/CD
- Pada awalnya, penyediaan repositori privat gratis adalah keunggulan utama dibanding GitHub, dan setelah itu alur kerja pun sepenuhnya mapan
- Fitur Container Registry adalah yang paling sering digunakan, memungkinkan penyimpanan image tanpa akun Docker Hub atau pengelolaan token terpisah
- Pipeline berbasis file konfigurasi dari GitLab CI, shared runner gratis, dan dokumentasi yang kaya disebut sebagai kekuatan utama
- Namun, kecepatan antarmuka web yang lambat dan kelebihan fitur ditunjukkan sebagai kekurangan, dan penggunaan GitHub serta GitLab secara berdampingan sesuai tujuan dinilai paling efisien
Latar belakang penggunaan GitLab
- Mulai menggunakan GitLab saat GitHub masih mengenakan biaya untuk repositori privat karena GitLab menyediakan repositori privat gratis
- Bisa mengelola berbagai proyek eksperimental tanpa harus memublikasikannya
- Setelah GitHub memperkenalkan kebijakan gratis, kebutuhan untuk pindah pun hilang karena pipeline CI, image Docker, dan skrip deployment sudah dibangun dengan GitLab sebagai pusat
Fitur Docker Registry
- Semua proyek GitLab secara default menyertakan Container Registry
- Alurnya sederhana: build image secara lokal atau di CI lalu push, kemudian pull di tempat yang diperlukan
- Tidak perlu akun Docker Hub atau pengelolaan token terpisah, dan tidak perlu khawatir soal batas pull
- Untuk proyek pribadi, fiturnya sudah lebih dari cukup, dan batas kapasitas 10GB juga pada praktiknya bukan masalah
- Efisiensi ruang dijaga dengan membersihkan tag lama dan berbagi layer
Lingkungan CI/CD
- Sejak awal, GitLab CI telah mewujudkan konsep ‘CI berbasis file konfigurasi’
- Cukup tambahkan file
.gitlab-ci.yml, maka pipeline akan berjalan otomatis
- Konfigurasinya dikelola dalam version control sehingga status pipeline lama dapat dilacak
- Pipeline dasar terdiri dari build image, push, dan deployment opsional
- Tahap deployment dapat dikendalikan dengan trigger manual
- Shared runner tersedia gratis tetapi lambat; bila perlu, runner sendiri bisa dipasang dengan mudah di VPS
- Dokumentasi CI/CD sangat luas, dan setelah pola dasarnya dipahami, pengelolaan menjadi efisien lewat menyalin dan menggunakan ulang konfigurasi yang sudah ada
Hal yang kurang nyaman
- Kecepatan antarmuka web terasa lambat, dan ada waktu tunggu saat berpindah antara merge request, pipeline, dan log
- Belakangan tampaknya agak membaik, tetapi masih lebih lambat dibanding GitHub
- Ada juga masalah kelebihan fitur
- Tersedia banyak fungsi seperti issue tracking, wiki, package registry, dan security scanning, tetapi penggunaan nyatanya hanya sekitar 10%
- Namun, ada juga keuntungan potensial karena fitur yang sudah tertanam bisa langsung dimanfaatkan saat diperlukan
Biaya dan alur kerja
- Saat ini sekitar 12 proyek pribadi dijalankan secara gratis, mencakup proyek aktif hingga eksperimen yang sudah dihentikan
- GitLab dibedakan sebagai ruang kerja privat, sementara GitHub sebagai ruang berbagi proyek publik
- GitHub cocok untuk kolaborasi dan visibilitas, sedangkan GitLab cocok untuk eksperimen dan pengelolaan otomatisasi
- Struktur memakai kedua platform secara berdampingan berfungsi sebagai cara untuk menjaga keseimbangan dan efisiensi alur kerja
3 komentar
Ada penilaian bahwa CI/CD GitLab memang bagus.
Tapi saya sendiri, karena batasan pada akun gratis, meskipun mendukung bahasa Korea, tetap lebih sering memilih GitHub.
Forgejo dan basisnya, Gitea, terasa seperti tiruan GitHub, jadi saya juga kurang tertarik.
Kami menggunakan Gitea, dan memilihnya karena image tiruannya membuat learning curve-nya rendah sehingga mudah diterapkan.
Untuk GitLab, ada banyak masukan bahwa fiturnya terlalu banyak sehingga sulit dan berat..
Komentar Hacker News
Staf dukungan pelanggan menghilang dan semua pertanyaan harus lewat tim penjualan, sementara sebagian besar fitur dikunci di paket Ultimate yang mahal
Fitur-fitur yang bukan “AI” dibiarkan begitu saja meski mengalami masalah yang sama selama bertahun-tahun
Jadi sekarang setiap kali email penjualan datang, saya malah bermain game “kapan ya kita bisa melihat kecepatan pengembangan seperti dulu lagi?”
Sekitar 2015~2020 saya memakainya dengan senang hati, tetapi semua fiturnya terasa kasar dan fokusnya lebih ke mengisi checklist fitur daripada menyempurnakannya
Mungkin itu pilihan yang tak terhindarkan bagi tim kecil yang harus bersaing dengan perusahaan besar
Setelah 10 tahun pun masih sama, sementara Gitea atau Forgejo jauh lebih cepat dan akan jadi lebih baik lagi setelah rilis Go 1.26
Terutama pencarian issue yang terlalu lambat, sampai saya tidak berniat memakainya lagi
Pada 2018 saya pindah dari Bitbucket dan Confluence ke GitLab Cloud, dan produk Atlassian jauh lebih lambat dan rumit
GitLab terasa ringan dan cepat, dan sampai sekarang sebagian besar masih bekerja dengan baik
Belakangan saya memakai Jira Cloud dan rasanya jauh lebih lambat serta merepotkan
Fenomena yang benar-benar mengejutkan
Pemakaian daya server turun 10%, dan GitLab punya terlalu banyak fitur yang tidak perlu sehingga UI terasa sumpek
Forgejo sederhana dan memungkinkan fitur disembunyikan per proyek
Hanya saja, tidak ada pembaruan otomatis, tingkat kematangannya lebih rendah, dan beberapa fitur tidak bekerja dengan benar
Saya tidak tahu itu tema Jekyll atau buatan sendiri, tetapi menjelajahinya sendiri terasa menyenangkan
CI, pelacakan issue, dan hal-hal yang saya butuhkan tetap ada, sementara antarmukanya dimuat seketika dan tidak ada fitur yang tak perlu
Saya lebih suka sintaks GitLab CI, tetapi API Forgejo kurang matang
Meski begitu, karena kita bisa mengakses DB secara langsung, itu bisa diatasi dengan skrip kustom
Saya menyalakan cluster Kubernetes lalu menghubungkan Forgejo dan Argo untuk pengujian
Saya tidak yakin apakah lebih tepat memakai sumber daya Codeberg daripada Microsoft
Tampaknya CI ditangani oleh proyek bernama Woodpecker, dan saya penasaran bagaimana perbandingannya dengan GitLab CI
GitLab, meski tidak sampai level Gerrit, tetap mendukung MR bertumpuk, dan komentar masih bisa dilihat setelah force push
Saya rasa budaya PR besar ala GitHub merusak produktivitas dan budaya review
Fitur administrasi seperti pengaturan sinkronisasi LDAP masih bisa diperbaiki, tetapi sintaks CI/CD secara umum cukup nyaman
Dari 2021~2024 saya memakainya setiap hari sampai-sampai mencatat log bug sendiri
Saya meninggalkan pengalaman terkait di komentar sebelumnya
Pelacak issue GitHub yang sederhana jauh lebih mudah digunakan
Manajer proyek mungkin menyukai GitLab, tetapi dari sudut pandang pengguna, GitHub terasa lebih baik
Sekarang kami memakai GitHub dan jauh lebih sederhana serta efisien
Saya benar-benar tidak suka GitLab
Untuk image Docker, yang dibatasi hanya per layer, sedangkan total kapasitasnya bisa jauh lebih besar
Dokumen terkait: Storage Usage Quotas, Container Registry Issue
Saya ingin mencoba mengunggah Interstellar REMUX 70GB
Pola “mau melakukan sesuatu → error → cari di web → menemukan laporan bug resmi berusia 3~8 tahun” terus berulang
Banyak fitur berhenti di tingkat penyelesaian 80/20, dan tampilan MR terlalu lambat sampai menyiksa
Saya menulis soal itu di komentar sebelumnya
Saya suka karena registry paket Maven, NPM, dan Python bisa diintegrasikan ke pipeline CI
Namun fiturnya terlalu banyak, dan semua layarnya terasa dua kali lebih lambat
Setelah itu kami beralih ke Azure DevOps, yang lambat dan quality gate-nya juga buruk
Server build diganti menjadi VM sehingga build melambat karena batas IOPS
Saya ingin kembali ke GitLab, dan bahkan bersedia berkontribusi untuk meningkatkan performanya