CI/CD: Pipeline Otomatis
GitHub Actions, GitLab CI, dan otomasi deployment
Tujuan Pembelajaran
- Memahami konsep CI/CD
- Bisa membuat pipeline CI/CD sederhana
Analogi
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
- Trigger: push ke branch main.
- Test: Jalankan unit test.
- Build: Build aplikasi.
- 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
# .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
Prompt AI
Jelaskan bedanya CI dan CD.
Pertanyaan Reflektif
Buat GitHub Actions workflow untuk proyekmu. Coba push dan lihat pipeline-nya.