Kodeloka
  1. Kodeloka
  2. Kelas k6
  3. Materi

Modul 2 Β· Modul 2 dari 15

Instalasi k6 di Windows, macOS, Linux & Docker

Panduan pemasangan lengkap dari nol untuk setiap sistem operasi, verifikasi instalasi, dan menyiapkan editor agar autocomplete jalan.

Prasyarat

k6 didistribusikan sebagai satu binary tunggal tanpa dependensi runtime. Anda tidak perlu memasang Node.js, Java, atau Python untuk menjalankannya.

πŸ’‘ Node.js dibutuhkan hanya bila…

Anda ingin memakai paket npm di dalam skrip (lewat bundler seperti webpack/esbuild), atau memakai TypeScript. Untuk 90% kebutuhan, k6 sendiri sudah cukup karena punya modul bawaan yang lengkap.

1. Windows

Tersedia tiga jalur. Pilih salah satu.

a. winget (bawaan Windows 10/11 β€” paling disarankan)

PowerShellbash
winget install k6 --source winget

b. Chocolatey

PowerShell (Run as Administrator)bash
choco install k6

c. Unduh binary manual

Ambil berkas k6-vX.Y.Z-windows-amd64.zip dari halaman Releases di GitHub grafana/k6, ekstrak, lalu tambahkan foldernya ke PATH (Settings β†’ System β†’ About β†’ Advanced system settings β†’ Environment Variables β†’ Path β†’ New).

⚠️ Setelah instalasi, tutup dan buka ulang terminal

Perubahan PATH tidak berlaku pada jendela terminal yang sudah terbuka. Ini penyebab nomor satu error k6 : The term 'k6' is not recognized.

2. macOS

Terminalbash
brew install k6

Bila Homebrew belum ada, pasang dulu dari brew.sh. Untuk Mac Apple Silicon (M1–M4) Homebrew otomatis mengambil binary arm64.

3. Linux β€” Debian / Ubuntu

Gunakan repositori resmi agar bisa ikut apt upgrade:

Terminalbash
sudo gpg -k
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg \
  --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69

echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" \
  | sudo tee /etc/apt/sources.list.d/k6.list

sudo apt-get update
sudo apt-get install k6

4. Linux β€” RHEL / CentOS / Fedora

Terminalbash
sudo dnf install https://dl.k6.io/rpm/repo.rpm
sudo dnf install k6

5. Docker (tanpa memasang apa pun)

Cara paling cepat mencoba dan cara paling konsisten untuk CI/CD.

Terminalbash
# menjalankan skrip dari direktori saat ini
docker run --rm -i -v "$PWD:/scripts" grafana/k6 run /scripts/skrip.js
β›” Jebakan Docker #1 β€” localhost di dalam container bukan localhost Anda

Bila target tes berjalan di mesin host, http://localhost:3000 di dalam container akan menunjuk ke container itu sendiri dan selalu gagal connection refused.

Solusi:

  • Docker Desktop (Windows/macOS): pakai http://host.docker.internal:3000.
  • Linux: tambahkan --add-host=host.docker.internal:host-gateway, atau jalankan dengan --network host.
  • Bila target juga container: pastikan keduanya di network Docker yang sama dan panggil dengan nama service-nya.

6. Verifikasi & Konfigurasi Editor

Setelah instalasi, jalankan k6 version. Untuk pengalaman menulis kode yang nyaman (autocomplete + dokumentasi hover) di VS Code, pasang paket definisi tipe:

Terminalbash
npm init -y
npm install --save-dev @types/k6

Lalu buat jsconfig.json di root proyek agar VS Code mengenalinya.

7. Struktur Folder Proyek yang Rapi

Sejak awal, susun proyek pengujian seperti proyek software sungguhan β€” bukan satu file raksasa.

strukturbash
perf-tests/
β”œβ”€β”€ package.json
β”œβ”€β”€ jsconfig.json
β”œβ”€β”€ config/
β”‚   └── environments.js      # base URL per environment
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ auth.js              # helper login, reusable
β”‚   └── checks.js            # kumpulan check standar
β”œβ”€β”€ data/
β”‚   └── users.json           # data uji (JANGAN berisi data asli)
β”œβ”€β”€ scenarios/
β”‚   β”œβ”€β”€ smoke.js
β”‚   β”œβ”€β”€ load.js
β”‚   └── stress.js
└── .github/workflows/perf.yml