CI/CD (Continuous Integration/Continuous Deployment)
Automated pipeline untuk testing dan deployment kode setiap ada perubahan.
CI/CD adalah praktik automasi dalam software development. Continuous Integration (CI): setiap kali developer push kode ke repository, sistem otomatis menjalankan: linting, type checking, unit tests, integration tests, dan build. Ini menangkap error lebih awal. Continuous Deployment (CD): setelah CI berhasil, kode otomatis di-deploy ke staging/production tanpa intervensi manual. Tools CI/CD: GitHub Actions, GitLab CI, CircleCI, Travis CI, Jenkins, dan Vercel/Railway/Netlify (built-in CI/CD). Pipeline CI/CD didefinisikan dalam file YAML di repository. CI/CD mengurangi human error dalam deployment, mempercepat release cycle, dan memungkinkan rollback otomatis kalau deployment gagal.
Contoh Kode
# GitHub Actions workflow
name: CI/CD Pipeline
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v1
- run: bun install
- run: bun run lint
- run: bun run test
- run: bun run build