Mulai DevOps: Cara Setup Pipeline CI/CD Pertama Tanpa Ribet

Di banyak tim developer, proses build dan deploy masih dilakukan manual: klik sana-sini, upload file, restart server. Selain makan waktu, cara ini rawan error—apalagi kalau project makin besar. Di sinilah CI/CD (Continuous Integration / Continuous Deployment) jadi penyelamat.

Artikel ini akan bantu kamu memahami konsepnya sekaligus setup pipeline CI/CD pertama dengan cara yang simpel dan realistis.

Apa Itu CI/CD (Singkat & Jelas)

  • Continuous Integration (CI)
    Setiap kali kamu push code, sistem otomatis:
    • install dependency
    • build project
    • (opsional) jalankan test
  • Continuous Deployment (CD)
    Setelah build sukses, aplikasi otomatis:
    • di-deploy ke server / staging / production

Intinya: dari push → auto build → auto deploy

Kenapa Harus Pakai CI/CD?

Tanpa CI/CD:

  • Deploy manual (rawan typo & lupa step)
  • Sulit tracking error
  • Tidak konsisten antar developer

Dengan CI/CD:

  • Deploy lebih cepat
  • Lebih konsisten & minim human error
  • Setiap perubahan langsung tervalidasi

Arsitektur Sederhana Pipeline

Flow paling basic:

Push Code → Install Dependencies → Build → (Test) → Deploy

Contoh Setup (Next.js + Docker + GitLab CI)

Kita pakai stack yang umum:

  • Frontend: Next.js
  • Container: Docker
  • CI/CD: GitLab CI

1. Buat File .gitlab-ci.yml

Ini adalah “otak” dari pipeline kamu.

stages:
  - build

build_app:
  stage: build
  script:
    - echo "Install dependencies"
    - yarn install
    - echo "Build project"
    - yarn build

Ini sudah cukup untuk CI dasar.

2. Tambahkan Docker Build

Supaya app kamu bisa dijalankan di mana saja:

build_docker:
  stage: build
  script:
    - docker build -t my-app:latest .

3. Contoh Dockerfile (Next.js)

FROM node:20-alpine

WORKDIR /app

COPY package.json yarn.lock ./
RUN yarn install

COPY . .

RUN yarn build

CMD ["yarn", "start"]

4. Tambahkan Environment Variable

Di CI, biasanya kamu butuh .env:

NEXT_PUBLIC_API_URL=https://api.example.com

Di pipeline:

script:
  - cp .env.example .env
  - yarn build

Error yang Sering Terjadi

1. Build gagal karena TypeScript

Contoh:

Property 'type' does not exist on type 'VehicleType'

Solusi:

  • cek interface TypeScript
  • pastikan field sesuai dengan API

2. Dependency mismatch

warning package-lock.json found

Solusi:

  • pakai satu package manager saja (yarn / npm)

3. Environment variable tidak terbaca

Pastikan:

  • sudah di-set di CI/CD variables
  • atau di-copy sebelum build

Tips Biar Pipeline Kamu Gak Ribet

  • Mulai dari yang paling sederhana dulu
  • Jangan langsung full automation
  • Fokus ke:
    • build sukses
    • environment stabil

Upgrade Selanjutnya (Kalau Sudah Jalan)

Kalau pipeline dasar sudah jalan, kamu bisa tambah:

  • Unit testing otomatis
  • Auto deploy ke server
  • Notifikasi (Slack / email)
  • Staging environment

Kesimpulan

CI/CD bukan cuma tools, tapi cara kerja yang bikin development lebih cepat dan aman.

Mulai dari pipeline sederhana:

  • Build otomatis
  • Validasi code
  • Deploy tanpa manual

Dari sini, kamu bisa scale ke sistem DevOps yang lebih kompleks.

Baca juga: Sebelum Masuk Teknik Informatika, Perhatikan 5 Hal Ini!