
Mengotomatisasi Pekerjaan yang Membosankan
Di artikel *batch* sebelumnya, kita telah membahas konsep CI/CD (Continuous Integration / Continuous Deployment) secara teori. Kini saatnya kita mempraktikkannya. Alat CI/CD yang paling mudah diakses oleh *developer* saat ini adalah GitHub Actions, karena ia gratis (dengan batasan kuota besar) dan menyatu langsung dengan tempat kamu menyimpan kode.
Tujuan kita hari ini: Kita ingin membuat robot yang secara otomatis menjalankan tes (npm test) setiap kali ada kode baru yang di-push ke branch main.
Langkah 1: Membuat Folder Rahasia
Robot GitHub Actions tidak dikonfigurasi melalui layar dashboard, melainkan melalui kode khusus di dalam proyekmu sendiri. Konfigurasi ini ditulis dalam bahasa YAML (Yet Another Markup Language).
- Di dalam proyek (root folder) VS Code-mu, buatlah folder baru dengan nama persis
.github/workflows. (Perhatikan titik di depan kata github). - Di dalam folder workflows tersebut, buat satu file baru, misalnya bernama
testing-otomatis.yml.
Langkah 2: Menulis Instruksi YAML
File YAML sangat ketat soal indentasi (spasi), persis seperti bahasa Python. Copy-paste struktur dasar ini:
name: Node.js CI Pipeline # Nama robotmu
# KAPAN ROBOT INI HARUS BANGUN? (Triggers)
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
# APA YANG HARUS DILAKUKAN ROBOT INI? (Jobs)
jobs:
build-and-test:
runs-on: ubuntu-latest # Pinjam komputer Linux dari GitHub
# Langkah-langkah kerja (Steps)
steps:
- name: Mengambil kode dari Repository
uses: actions/checkout@v4
- name: Mengatur versi Node.js
uses: actions/setup-node@v4
with:
node-version: '18.x'
- name: Menginstall Dependencies (Library)
run: npm ci
- name: Menjalankan Automated Testing
run: npm testMembedah Logika Sang Robot
Kode di atas sangat bisa dibaca oleh manusia. Berikut cara membacanya:
- on (Pemicu): "Hai GitHub, tolong bangunkan robot ini setiap kali ada aksi Git Push atau Pull Request ke dalam branch 'main'."
- runs-on (Komputer Pinjaman): "Tolong siapkan satu komputer Virtual Linux (Ubuntu) yang baru dan bersih untuk menjalankan tugasku."
- steps (Eksekusi): Komputer virtual itu akan meng-copy kode proyekmu, memasang Node.js versi 18, menginstall semua package (
npm ci), dan pada akhirnya menekan tombol saktinpm test(menjalankan Unit Testing pakai Jest/Mocha).
Dampak Luar Biasa (Continuous Integration)
Simpan file YAML tersebut, commit, dan push ke GitHub. Buka halaman repository GitHub-mu, lalu klik tab Actions di bagian atas. Kamu akan melihat robot sedang bekerja secara Live!
Jika tesnya sukses, akan muncul centang hijau besar ✅. Jika ada fitur *error* di kodenya, akan muncul silang merah ❌, dan GitHub (jika di-setting lebih lanjut) akan menolak proses penggabungan kode tersebut ke *Server Production* sebelum *error*-nya diperbaiki. Selamat, kamu kini setara dengan *DevOps Engineer* tingkat pemula!
Mau langsung pakai template?
Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.
Browse Templates