Lewati ke konten utama
menjadi.dev
Chapter 8.2 DevOps Lanjutan

CI/CD: Pipeline Otomatis

GitHub Actions, GitLab CI, dan otomasi deployment

Tujuan Pembelajaran

  • Memahami konsep CI/CD
  • Bisa membuat pipeline CI/CD sederhana

Analogi

Diagram

      CI/CD = Pabrik Otomatis:

[Push Code] → [Test Otomatis] → [Build] → [Deploy]
     ↓              ↓               ↓         ↓
   Developer    Robot QA      Compiler   Publish live
    

CI/CD seperti pabrik otomatis — test, build, deploy berjalan sendiri

Penjelasan Konsep

CI/CD

= Continuous Integration / Continuous Deployment.

CI (Continuous Integration)

→ Setiap push ke repo, otomatis di-test.

CD (Continuous Deployment)

→ Kalau test lulus,

Otomatis di-deploy.

Analoginya kayak pabrik otomatis

Push code → Robot QA test → Compiler build → Publish ke live.

Semua berjalan otomatis!

GitHub Actions Workflow

  1. Trigger: push ke branch main.
  2. Test: Jalankan unit test.
  3. Build: Build aplikasi.
  4. Deploy: Deploy ke server/Vercel.

Inti yang Perlu Dipahami

Bagian ini berfokus pada memahami konsep CI/CD., dan bisa membuat pipeline CI/CD sederhana. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.

Saat membaca CI/CD, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.

Cara Membayangkannya

CI/CD seperti pabrik otomatis — test, build, deploy berjalan sendiri. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.

Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.

Saat Melihat Contoh Kode

Contoh kode pada chapter ini memakai bahasa yaml. Bacalah contoh kode sebagai ilustrasi alur, bukan sebagai bagian yang harus langsung dihafal. Baris 4-5: Trigger. Baris 7-15: Job test. Baris 17-27: Job deploy (butuh test berhasil).

Perhatikan nama fungsi, urutan langkah, dan data yang berpindah. Biasanya tiga hal itu sudah cukup untuk memahami hubungan antara teori dan praktik.

Konteks dalam Perjalanan Belajar

Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.

Kamu sedang membangun skill inti. Setelah bagian ini, kamu bisa memilih spesialisasi sesuai minat: frontend, backend, atau DevOps.

Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.

Contoh Kode

yaml
# .github/workflows/deploy.yml
name: Deploy

on:
  push:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm ci
      - run: npm test
      - run: npm run build

  deploy:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm ci
      - run: npm run build
      - name: Deploy to Vercel
        run: npx vercel --prod --token=${{ secrets.VERCEL_TOKEN }}

Penjelasan Kode

Baris 4-5: Trigger. Baris 7-15: Job test. Baris 17-27: Job deploy (butuh test berhasil).

Prompt AI

Jelaskan bedanya CI dan CD.

Pertanyaan Reflektif

Buat GitHub Actions workflow untuk proyekmu. Coba push dan lihat pipeline-nya.