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) → DeployContoh 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 buildIni 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.comDi pipeline:
script:
- cp .env.example .env
- yarn buildError 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 foundSolusi:
- 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!






















