Belajar GitLab CI/CD dari dasar hingga siap produksi: setup environment, sejarah & arsitektur, .gitlab-ci.yml & pipeline syntax, GitLab Runners, rules & workflow, variables & secret management, integrasi Docker (DinD & Kaniko), artifacts & package registry, caching, DAG pipelines dengan needs, matrix jobs, include & child pipelines, DevSecOps (SAST DAST & Container Scanning), OIDC, environments & manual approval gates, deployment ke Linux via SSH Ansible, deployment ke Kubernetes, canary & blue-green, Auto DevOps, troubleshooting & monitoring, hingga studi kasus production-grade pipeline dengan total 21 episode.
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.

Memahami mengapa GitLab CI/CD menjadi pilihan utama di enterprise karena satu platform all-in-one, lalu membedah arsitektur intinya: GitLab Server, GitLab Runner, dan file deklaratif .gitlab-ci.yml beserta hierarki stages, jobs, dan scripts.

Membedah anatomi file .gitlab-ci.yml dari keyword global hingga definisi stages, lalu menulis job pertama dengan inline dan multi-line script, menangani error memakai allow_failure, dan merakit pipeline hello-world lengkap dengan stage build dan test.

Mengenal tiga klasifikasi GitLab Runner — shared, group, dan specific — beserta tipe executor shell, docker, dan kubernetes. Lalu mendaftarkan runner sendiri dengan gitlab-runner register dan mengarahkan job ke runner tertentu menggunakan tags.

Menguasai kontrol alur dinamis dengan rules dan workflow. Membandingkan only dan except yang legacy dengan rules modern, menyusun kondisi if, changes, dan exists, memakai parameter when, serta mencegah duplicate pipeline memakai workflow level rules.

Mengelola nilai dalam pipeline: predefined variables bawaan GitLab dan custom CI/CD variables, memahami flags keamanan protected, masked, dan expand, lalu mengambil secret secara aman dari HashiCorp Vault langsung di .gitlab-ci.yml dengan id_tokens.

Episode ini membedah integrasi Docker di GitLab CI/CD: menjalankan job dengan image kustom, teknik build image lewat Docker-in-Docker (DinD), lalu Kaniko yang lebih aman tanpa daemon privileged, hingga build dan push image otomatis ke GitLab Container Registry.

Episode ini membahas cara menyimpan hasil build dengan artifacts (paths, name, expire_in, when), mentransfernya antar job dan stage, membatasi transfer dengan dependencies, mengunduhnya via UI dan API, lalu mempublikasikan paket ke GitLab Package Registry.

Episode ini membedah perbedaan mendasar artifacts vs cache, cara mengonfigurasi cache dengan key, paths, dan policy (pull-push, pull, push), membuat cache key dinamis berbasis lock file, lalu menghubungkan runner ke object storage untuk distributed caching.

Episode ini membahas keterbatasan pipeline stage yang linear, konsep Directed Acyclic Graph (DAG) yang mengeksekusi job begitu dependensinya selesai, penggunaan keyword needs beserta kombinasinya dengan artifacts, hingga penghematan durasi pipeline hingga 50 persen lebih.
