devops, tutorial,

Apa Itu CI/CD? Panduan Lengkap untuk Pemula

Kiki/🎮🍉⌨️🍩💻 Kiki/🎮🍉⌨️🍩💻 Jul 31, 2026 · 5 mins read
Apa Itu CI/CD? Panduan Lengkap untuk Pemula
Share this

Pernah mendengar istilah CI/CD tapi masih bingung apa sebenarnya artinya? Atau mungkin Anda sudah tahu teorinya tapi belum pernah mempraktikkannya? Artikel ini akan menjelaskan CI/CD dari nol — mulai dari konsep dasar hingga implementasi sederhana menggunakan GitHub Actions.


1. Apa Itu CI/CD?

CI/CD adalah singkatan dari Continuous Integration dan Continuous Delivery (atau Continuous Deployment). Ini adalah praktik dalam pengembangan perangkat lunak yang mewajibkan tim developer untuk sering melakukan integrasi kode ke repositori utama, di mana setiap integrasi akan diverifikasi secara otomatis melalui build dan testing.

Continuous Integration (CI) — setiap kali developer mendorong kode ke repositori, secara otomatis akan dijalankan:

  • Build project
  • Unit test
  • Linting
  • Integration test

Continuous Delivery (CD) — setelah CI berhasil, kode siap dirilis ke production secara otomatis atau semi-otomatis.


2. Mengapa CI/CD Penting?

Tanpa CI/CD (Siklus Tradisional)

  1. Developer mengerjakan fitur sendiri-sendiri selama berminggu-minggu
  2. Fitur digabungkan di akhir siklus (merge hell)
  3. Build gagal karena konflik tak terduga
  4. Butuh waktu berhari-hari untuk debugging integrasi
  5. Deployment setahun sekali — penuh drama

Dengan CI/CD

  1. Developer push kode setiap hari (bahkan beberapa kali sehari)
  2. CI otomatis membuild dan mengetes kode
  3. Jika ada error, developer tahu dalam hitungan menit
  4. Kode yang sudah lolos CI siap dideploy kapan saja
  5. Deployment bisa dilakukan beberapa kali sehari — tanpa stres

3. Komponen Utama CI/CD Pipeline

Sebuah pipeline CI/CD terdiri dari beberapa tahapan:

[Commit] → [Build] → [Test] → [Deploy Staging] → [Deploy Production]

A. Source Stage

Dimulai saat developer melakukan git push ke repositori. Webhook akan memberi tahu CI server.

B. Build Stage

Mengompilasi kode, mengunduh dependensi, dan membuat artefak:

npm install
npm run build

atau:

dotnet build

C. Test Stage

Menjalankan berbagai jenis testing:

  • Unit test: menguji fungsi individu
  • Integration test: menguji interaksi antar komponen
  • Linting: memeriksa kualitas kode

D. Deploy Stage

Mengirim artefak ke environment target:

  • Staging: environment mirror production untuk pengujian akhir
  • Production: environment yang diakses pengguna

4. Implementasi Sederhana dengan GitHub Actions

GitHub Actions adalah platform CI/CD bawaan GitHub yang mudah digunakan. Berikut contoh pipeline sederhana untuk project Node.js:

Buat file .github/workflows/ci.yml di repositori Anda:

name: CI Pipeline

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ main ]

jobs:
  build-test:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [18.x, 20.x]

    steps:
      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: $

      - name: Install dependencies
        run: npm ci

      - name: Run lint
        run: npm run lint

      - name: Run tests
        run: npm test

      - name: Build
        run: npm run build

Penjelasan:

  • on: push — pipeline akan terpicu setiap kali ada push
  • matrix — tes berjalan di multiple versi Node.js
  • npm ci — install dependensi (lebih cepat dari npm install di CI)
  • Setiap run — jika gagal, pipeline akan berhenti dan mengirim notifikasi

5. Continuous Deployment dengan Docker

Lanjutan dari pipeline di atas, kita bisa menambahkan tahap deploy menggunakan Docker:

deploy:
  needs: build-test
  runs-on: ubuntu-latest
  if: github.ref == 'refs/heads/main'

  steps:
    - uses: actions/checkout@v4

    - name: Login to Docker Hub
      uses: docker/login-action@v3
      with:
        username: $
        password: $

    - name: Build and push Docker image
      uses: docker/build-push-action@v5
      with:
        push: true
        tags: user/app:latest

    - name: Deploy to server
      uses: appleboy/ssh-action@v1
      with:
        host: $
        username: $
        key: $
        script: |
          docker pull user/app:latest
          docker stop app || true
          docker rm app || true
          docker run -d --name app -p 3000:3000 user/app:latest

6. Praktik Terbaik CI/CD

  1. Commit kecil dan sering — pipeline berjalan lebih cepat, error lebih mudah dilacak
  2. Jaga pipeline tetap cepat — jika pipeline butuh >10 menit, developer akan malas nunggu
  3. Gunakan caching — cache node_modules atau dependensi lain agar tidak perlu diunduh ulang
  4. Test di environment yang mirip production — hindari “works on my machine”
  5. Fail fast — pipeline harus gagal secepat mungkin jika ada masalah
  6. Notifikasi — kirim notifikasi ke Slack/Discord jika pipeline gagal

7. Tools CI/CD Populer

Tool Tipe Keunggulan
GitHub Actions Cloud (built-in GitHub) Integrasi sempurna dengan GitHub
GitLab CI/CD Cloud/Self-hosted Pipeline YAML powerful
Jenkins Self-hosted Paling fleksibel, plugin sangat banyak
CircleCI Cloud Cepat, caching cerdas
Azure DevOps Cloud Integrasi dengan Microsoft ecosystem

Kesimpulan

CI/CD bukan lagi opsional — ini sudah menjadi standar industri untuk pengembangan perangkat lunak modern. Memulai dengan GitHub Actions sangat mudah karena tidak perlu server terpisah dan terintegrasi langsung dengan repositori Anda.

Ingatlah prinsip utamanya: otomatisasi, umpan balik cepat, dan rilis tanpa rasa takut. Mulailah dari pipeline sederhana — build dan test — lalu kembangkan secara bertahap dengan deploy otomatis.

Kiki/🎮🍉⌨️🍩💻
Written by Kiki/🎮🍉⌨️🍩💻
hello I'm friend K.