Menyiapkan tiga fondasi wajib sebelum masuk ke GitLab CI/CD: dasar Git dan GitLab workflow, format YAML, serta shell scripting. Lalu memasang GitLab CLI dan VS Code dengan ekstensi GitLab Workflow agar pipeline pertama bisa ditulis dengan validasi langsung di editor.

Selamat datang di series Belajar GitLab CI/CD! GitLab CI/CD adalah sistem CI/CD yang menyatu langsung di dalam platform GitLab — dari repository, issue tracking, sampai pipeline yang berjalan otomatis di setiap push. Menguasainya adalah salah satu jalur tercepat menuju peran DevOps Engineer, Cloud Engineer, hingga Release Engineer. Namun sebelum menulis .gitlab-ci.yml pertama, ada tiga fondasi yang harus kalian pegang erat: dasar Git & GitLab workflow, format YAML, dan dasar shell scripting. Tanpa ketiganya, kalian akan tersesat di episode-episode berikutnya — karena sebuah pipeline pada akhirnya hanyalah file YAML yang memicu perintah shell di dalam repository Git.
Episode 0 ini adalah lapisan fondasi. Kita akan mengulik tiga skill tersebut, lalu menyiapkan environment kerja yang lengkap: akun GitLab.com (atau self-hosted GitLab), GitLab CLI (glab) yang sudah terautentikasi, dan VS Code dengan ekstensi GitLab Workflow untuk auto-complete, linter, dan pipeline status. Di akhir episode, kalian akan memiliki mesin yang siap menulis dan menjalankan pipeline GitLab CI/CD pertama.
Pipeline GitLab CI/CD otomatis dipicu oleh event yang terjadi di repository — mulai dari commit yang di-push ke branch, merge request yang dibuka, hingga tag yang dirilis. Karena itu, memahami Git dan GitLab bukan lagi pilihan, melainkan prasyarat mutlak.
| Konsep | Penjelasan | Perintah Kunci |
|---|---|---|
| Repository | Wadah seluruh file, kode, dan riwayat perubahan | git init, git clone |
| Commit | Snapshot perubahan yang tercatat permanen | git add, git commit |
| Branch | Jalur pengembangan terpisah dari jalur utama | git branch, git checkout |
| Merge Request (MR) | Mekanisme review dan merge antar branch | git push + UI GitLab |
git init
git add .
git commit -m "chore: inisialisasi project"
git branch feature/login
git checkout feature/login
git add .
git commit -m "feat: halaman login"
git push origin feature/loginMental model yang paling penting: commit adalah checkpoint yang bisa dikembalikan kapan saja, dan branch adalah cara mengembangkan fitur tanpa merusak jalur utama. Di GitLab, mekanisme kolaborasinya disebut Merge Request (MR) — padanan dari Pull Request di GitHub. MR adalah jantung kolaborasi di GitLab, dan nanti banyak pipeline akan dirancang khusus agar berjalan setiap kali sebuah MR dibuka atau di-update. Jika kalian belum nyaman dengan git add, git commit, dan git push, sempatkan membaca series learn-git di blog ini terlebih dahulu.
GitLab CI/CD mendeskripsikan seluruh pipeline sebagai file YAML (YAML Ain't Markup Language) yang diletakkan di root repository. Semua sintaks — mulai dari stages, jobs, sampai script — ditulis dalam YAML. Tiga konsep dasarnya:
nama: nilai.- di depan item.name: my-app
version: 1.0.0
stack:
- web
- api
config:
debug: true
port: 8080
jobs:
- name: build
run: npm ciPerhatikan bahwa hierarki ditentukan oleh jumlah spasi di depan baris, bukan tanda kurung atau semicolon. Pahami pola ini baik-baik, karena seluruh pipeline nantinya bergantung pada kedalaman indentasi yang benar.
Warning
YAML sangat sensitif terhadap indentasi. Jangan pernah memakai tab — gunakan spasi (konvensi GitLab CI adalah 2 spasi per level), dan jangan mencampur keduanya. Satu tab yang menyusup bisa membuat parser YAML gagal dengan error yang membingungkan.
Setiap job di GitLab CI/CD pada akhirnya mengeksekusi perintah di dalam shell — defaultnya bash. Sebuah job dianggap gagal jika perintah yang dijalankan mengembalikan exit code selain 0, dan pipeline berhenti. Contoh pola paling dasar:
#!/bin/bash
set -e
APP_DIR="./src"
echo "Memeriksa direktori $APP_DIR"
if [ -d "$APP_DIR" ]; then
echo "Direktori ditemukan"
else
echo "Direktori tidak ada" >&2
exit 1
fiTiga hal yang wajib kalian pahami dari contoh di atas: variabel (nilai di-assign tanpa $, dipakai dengan $), percabangan dengan if untuk kontrol alur, dan exit code sebagai bahasa sukses-gagalnya sebuah perintah. Series learn-bash-scripting di blog ini adalah pendamping yang sangat direkomendasikan.
Langkah pertama yang sepele tapi sering dilupakan: pastikan kalian punya akun GitLab. Ada dua pilihan utama:
Cukup daftar di gitlab.com, verifikasi email, lalu buat project baru dari tombol New project. Project inilah rumah repository kalian sekaligus tempat pipeline akan dieksekusi.
glab adalah command-line tool resmi dari GitLab yang memungkinkan kalian mengelola project, merge request, issue, hingga pipeline langsung dari terminal tanpa membuka browser.
brew install glab
sudo apt install glab
winget install glab.glab
glab versionPerintah di atas masing-masing untuk macOS (Homebrew), Ubuntu/Debian (paket di universe), dan Windows (winget). Setelah terpasang, langkah berikutnya adalah autentikasi:
glab auth login
glab auth statusPerintah glab auth login menampilkan serangkaian pertanyaan interaktif: pilih host (GitLab.com atau instance self-managed), pilih metode autentikasi (browser OAuth paling nyaman, atau Personal Access Token), lalu ikuti alurnya. Token disimpan di ~/.config/glab-cli/config.yml. Verifikasi hasilnya:
$ glab version
glab version 1.63.0 (2026-06-12)
$ glab auth status
gitlab.com
✓ Logged in to gitlab.com as arman-dp
✓ Auth method: oauth
✓ Git operations for gitlab.com configured to use httpsJika keluar tanda ✓ Logged in, environment CLI kalian sudah terhubung ke GitLab. Perintah glab yang akan sering kalian pakai:
| Perintah | Fungsi |
|---|---|
glab repo clone owner/repo | Mengkloning repository ke mesin lokal |
glab mr create | Membuat merge request dari branch aktif |
glab mr list | head -5 | Melihat daftar merge request terbaru |
glab ci view 123456789 | Menampilkan detail sebuah pipeline |
glab ci status | Memantau status pipeline branch aktif |
Tip
Buat kebiasaan memakai glab ci status dan glab ci view untuk memantau pipeline — jauh lebih cepat daripada membuka browser setiap kali pipeline gagal. Ini akan menjadi kebiasaan harian kalian sebagai DevOps Engineer.
Untuk menulis .gitlab-ci.yml dengan nyaman, pasang Visual Studio Code dan ekstensi GitLab Workflow (resmi dari GitLab). Ekstensi ini memberikan:
.gitlab-ci.yml.stages, script, dan rules.Cara memasangnya: buka VS Code, tekan Ctrl+Shift+X untuk membuka panel Extensions, cari "GitLab Workflow", klik Install, lalu autentikasi dari command palette (Cmd+Shift+P → GitLab: Authenticate). Setiap file bernama .gitlab-ci.yml di root project akan otomatis terdeteksi dan terlint.
glab repo list akan menampilkan pesan untuk menjalankan glab auth login terlebih dahulu. Solusinya jalankan glab auth login..gitlab-ci.yml ada di root repository. Pastikan juga pengaturan CI/CD di project tidak dimatikan.Pada episode 0 ini kalian telah menyiapkan fondasi lengkap untuk belajar GitLab CI/CD:
commit, branch, Merge Request), format YAML (key-value, list, nesting), dan dasar bash (set -e, variabel, exit code).glab) yang sudah terautentikasi, lengkap dengan glab version dan glab auth status.Environment kalian sekarang siap. Di episode 1 kita akan berhenti sejenak dari mengetik untuk memahami sejarah, konsep, dan arsitektur utama GitLab CI/CD — mengapa platform all-in-one ini mendominasi enterprise, bagaimana GitLab Server, Runner, dan .gitlab-ci.yml bekerja sama, serta perbandingan jujur dengan GitHub Actions dan Jenkins. Sampai jumpa di episode 1!