Skip to main content

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.
  1. Workflow: Prosedur otomatis menyeluruh yang didefinisikan dalam berkas YAML.
  2. Events (Triggers): Aktivitas yang memicu workflow berjalan (contoh: push, pull_request, schedule cron, atau workflow_dispatch manual).
  3. Jobs: Kumpulan langkah (steps) yang dieksekusi pada mesin virtual (runner) yang sama. Secara default, jobs berjalan paralel.
  4. Steps: Tugas individual di dalam job (dapat berupa perintah shell langsung atau menjalankan aksi siap pakai).
  5. Actions: Unit kode mandiri yang dapat digunakan kembali dari komunitas (GitHub Marketplace).
  6. 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!
  1. Buka halaman repositori di GitHub →\to Settings →\to Secrets and variables →\to Actions.
  2. Klik tombol New repository secret.
  3. Buat nama variabel (misal: DOCKERHUB_USERNAME dan DOCKERHUB_TOKEN).
  4. 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