Apa itu GitHub Actions?
GitHub Actions adalah platform otomatisasi alur kerja (workflow) bawaan yang terintegrasi langsung di dalam setiap repositori GitHub. Kamu bisa menggunakannya untuk menjalankan pengujian otomatis, mem-build Docker Image, menerbitkan paket npm, hingga melakukan deployment ke AWS/VPS.
Konsep Inti GitHub Actions
Berkas alur kerja disimpan di dalam direktori .github/workflows/ dengan ekstensi .yml atau .yaml.
- Workflow: Prosedur otomatis menyeluruh yang didefinisikan dalam berkas YAML.
- Events (Triggers): Aktivitas yang memicu workflow berjalan (contoh:
push, pull_request, schedule cron, atau workflow_dispatch manual).
- Jobs: Kumpulan langkah (steps) yang dieksekusi pada mesin virtual (runner) yang sama. Secara default, jobs berjalan paralel.
- Steps: Tugas individual di dalam job (dapat berupa perintah shell langsung atau menjalankan aksi siap pakai).
- Actions: Unit kode mandiri yang dapat digunakan kembali dari komunitas (GitHub Marketplace).
- Runners: Server virtual (Ubuntu, Windows, macOS) yang disediakan GitHub untuk mengeksekusi workflow.
Contoh Alur Kerja Dasar: Test & Build
Buat file baru di .github/workflows/ci.yml:
Manajemen Rahasia (GitHub Secrets)
Jangan pernah menyimpan kredensial (seperti token Docker Hub, SSH Private Key, atau API Key AWS) langsung di dalam file YAML repositori publik!
- Buka halaman repositori di GitHub → Settings → Secrets and variables → Actions.
- Klik tombol New repository secret.
- Buat nama variabel (misal:
DOCKERHUB_USERNAME dan DOCKERHUB_TOKEN).
- Panggil di dalam berkas workflow menggunakan sintaks
${{ secrets.NAMA_SECRET }}:
Teknik Tingkat Lanjut (Advanced GitHub Actions)
1. Matrix Strategy (Pengujian Lintas Versi & OS)
Menguji aplikasi di berbagai versi runtime dan sistem operasi secara bersamaan tanpa menulis ulang kode job:
2. Job Dependencies (needs)
Secara default job berjalan paralel. Gunakan needs untuk mengatur agar job deploy baru berjalan HANYA jika job testing berhasil:
3. Caching Dependensi untuk Akselerasi Pipeline
Mempercepat durasi workflow dari hitungan menit menjadi hitungan detik dengan memanfaatkan actions/cache:
4. Deployment Otomatis via SSH ke VPS Server
Last modified on October 26, 2026