Skip to main content

Apa itu GitLab CI/CD?

GitLab CI/CD adalah sistem otomatisasi bawaan (built-in) yang menjadi bagian tak terpisahkan dari platform GitLab. Tanpa perlu memasang plugin tambahan pihak ketiga, GitLab menyediakan ekosistem terpadu mulai dari repositori kode, manajemen issue, pipeline CI/CD, Container Registry terintegrasi, hingga pemantauan deployment.

Arsitektur GitLab CI/CD: Coordinator vs Runner

Alur kerja GitLab CI/CD ditopang oleh dua komponen utama:
  1. GitLab Instance (Coordinator): Mengelola antrean job, memvalidasi sintaks berkas .gitlab-ci.yml, dan menyajikan status keberhasilan pipeline di antarmuka web.
  2. GitLab Runner: Agen perangkat lunak mandiri yang bertugas mengeksekusi perintah-perintah di dalam job. Runner dapat berjalan di mesin Linux lokal, container Docker, atau kluster Kubernetes.

Konfigurasi Berkas .gitlab-ci.yml

Seluruh alur kerja didefinisikan dalam sebuah berkas bernama .gitlab-ci.yml yang disimpan di direktori akar (root) repositori proyekmu.

Struktur Dasar Pipeline


Komponen Esensial GitLab CI

1. Artifacts vs Cache

Sering kali pemula bingung membedakan antara artifacts dan cache: Contoh penggunaan cache:

2. Variabel Rahasia (CI/CD Variables)

Untuk menyimpan kredensial database, password server, atau token registry:
  1. Buka repositori GitLab →\to Settings →\to CI/CD.
  2. Perluas bagian Variables →\to klik Add variable.
  3. Centang opsi Protect variable (hanya berlaku di branch terlindungi) dan Mask variable (agar nilainya disensor bintang *** di log terminal).
  4. Gunakan langsung di skrip menggunakan format $NAMA_VARIABEL:

Fitur Tingkat Lanjut (Advanced GitLab CI)

1. Kontrol Eksekusi Fleksibel (rules)

Mengatur kapan sebuah job boleh berjalan atau dilewati berdasarkan branch, tag, atau isi pesan commit:

2. Docker in Docker (DinD) — Membangun Image di Pipeline

Jika aplikasimu ingin dibungkus menjadi Docker Image dan diunggah ke GitLab Container Registry:

3. Lingkungan & Rollback (environment)

Fitur dasbor pelacakan deployment bawaan GitLab yang memungkinkan tim melihat versi kode apa yang saat ini aktif di server serta tombol rollback otomatis:

4. Menggunakan Multi-Project Pipeline (trigger)

Dalam arsitektur Microservices, ketika satu repositori pustaka (misal core-library) mengalami perubahan, ia dapat secara otomatis memicu (trigger) pipeline pada repositori aplikasi backend atau frontend yang bergantung padanya:
Last modified on October 26, 2026