Menyiapkan tiga fondasi wajib sebelum masuk ke GitHub Actions: dasar Git dan GitHub, format YAML, serta shell scripting. Lalu memasang GitHub CLI dan VS Code dengan ekstensi GitHub Actions agar workflow pertama bisa ditulis dengan validasi langsung di editor.

Selamat datang di series Belajar GitHub Actions! GitHub Actions adalah platform CI/CD cloud-native yang hidup langsung di dalam GitHub, dan menguasainya adalah salah satu jalur tercepat menuju peran DevOps Engineer, Cloud Engineer, hingga Release Engineer. Namun sebelum menyentuh workflow YAML pertama, ada tiga fondasi yang harus kalian pegang erat: dasar Git & GitHub, format YAML, dan dasar shell scripting. Tanpa ketiganya, kalian akan tersesat di episode-episode berikutnya — karena sebuah workflow pada akhirnya hanyalah file YAML yang memicu perintah shell di dalam repository Git.
Episode 0 ini adalah lapisan fondasi. Kita akan mengulik tiga skill tersebut, lalu menyiapkan environment kerja yang lengkap: akun GitHub.com, GitHub CLI (gh) yang sudah terautentikasi, dan VS Code dengan ekstensi GitHub Actions untuk validasi serta auto-complete saat menulis YAML. Di akhir episode, kalian akan memiliki mesin yang siap menulis dan menjalankan workflow GitHub Actions.
GitHub Actions otomatis mengeksekusi pekerjaan pada event yang terjadi di repository kalian — mulai dari commit yang di-push, pull request yang dibuka, hingga release yang dirilis. Karena itu, memahami Git dan GitHub bukan lagi pilihan, melainkan prasyarat mutlak.
| Konsep | Penjelasan | Perintah Kunci |
|---|---|---|
| Repository | Wadah seluruh file, kode, dan riwayat perubahan | git init, git clone |
| Commit | Snapshot perubahan yang tercatat permanen | git add, git commit |
| Branch | Jalur pengembangan terpisah dari jalur utama | git branch, git checkout |
| Pull Request | Mekanisme review dan merge antar branch | git push + UI GitHub |
git init
git add .
git commit -m "chore: inisialisasi project"
git branch feature/login
git checkout feature/login
git add .
git commit -m "feat: halaman login"
git push origin feature/loginMental model yang paling penting: commit adalah checkpoint yang bisa dikembalikan kapan saja, dan branch adalah cara mengembangkan fitur tanpa merusak jalur utama. Pull Request (PR) adalah jantung kolaborasi di GitHub — dan nantinya kalian akan melihat banyak workflow yang dirancang khusus untuk berjalan setiap kali sebuah PR dibuka atau di-update. Jika kalian belum nyaman dengan git add, git commit, dan git push, sempatkan membaca series learn-git di blog ini terlebih dahulu.
GitHub Actions mendeskripsikan seluruh pipeline sebagai file YAML (YAML Ain't Markup Language) — format serialisasi data yang mudah dibaca manusia. Semua sintaks workflow mulai dari trigger, job, sampai step, ditulis dalam YAML. Tiga konsep dasarnya:
nama: nilai.- di depan item.name: my-app
version: 1.0.0
stack:
- web
- api
config:
debug: true
port: 8080
jobs:
- name: build
run: npm ciPerhatikan bahwa hierarki ditentukan oleh jumlah spasi di depan baris, bukan tanda kurung atau semicolon. Pahami pola ini baik-baik, karena seluruh bagian workflow nantinya bergantung pada kedalaman indentasi yang benar.
Warning
YAML sangat sensitif terhadap indentasi. Jangan pernah memakai tab — gunakan spasi (konvensi GitHub Actions adalah 2 spasi per level), dan jangan mencampur keduanya. Satu tab yang menyusup bisa membuat parser YAML gagal dengan error yang membingungkan.
Setiap langkah kerja di GitHub Actions pada akhirnya mengeksekusi perintah di dalam shell — defaultnya bash dengan mode set -e dan pipefail. Artinya, sebuah step dianggap gagal jika perintah yang dijalankan mengembalikan exit code selain 0. Contoh pola paling dasar:
#!/bin/bash
set -e
APP_DIR="./src"
echo "Memeriksa direktori $APP_DIR"
if [ -d "$APP_DIR" ]; then
echo "Direktori ditemukan"
else
echo "Direktori tidak ada" >&2
exit 1
fiTiga hal yang wajib kalian pahami dari contoh di atas: variabel (nilai di-assign tanpa $, dipakai dengan $), percabangan dengan if untuk kontrol alur, dan exit code sebagai bahasa sukses-gagalnya sebuah perintah. Series learn-bash-scripting di blog ini adalah pendamping yang sangat direkomendasikan.
Langkah pertama yang sepele tapi sering dilupakan: pastikan kalian punya akun di github.com. Akun personal cukup untuk belajar dan memakai fitur GitHub Actions di repository pribadi maupun publik. Untuk skala tim, kalian bisa masuk ke dalam organization — di situlah repository, secrets, dan kebijakan keamanan dikelola terpusat. Cukup buat akun, verifikasi email, dan repository pertama kalian siap dibuat dari tombol New repository.
GitHub CLI adalah command-line tool resmi dari GitHub yang memungkinkan kalian mengelola repository, pull request, hingga workflow Actions tanpa meninggalkan terminal. Untuk Ubuntu/Debian 64-bit:
sudo apt-get install -y wget
wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt-get update
sudo apt-get install -y gh
gh --versionPengguna macOS bisa menginstal lewat Homebrew dengan brew install gh, dan pengguna Windows lewat winget install --id GitHub.cli. Setelah terpasang, langkah berikutnya adalah autentikasi:
gh auth login
gh auth statusPerintah gh auth login akan menampilkan serangkaian pertanyaan interaktif: pilih GitHub.com sebagai host, pilih protokol HTTPS (atau SSH jika kalian sudah punya SSH key), lalu login melalui browser — sebuah kode one-time akan muncul dan kalian tempel di halaman github.com/login/device. Verifikasi hasilnya:
$ gh version
gh version 2.62.0 (2025-03-06)
$ gh auth status
github.com
✓ Logged in to github.com as arman-dp
✓ Git operations for github.com configured to use sshJika keluar gh auth status dengan tanda ✓ Logged in, environment CLI kalian sudah terhubung ke GitHub. Perintah gh yang akan sering kalian pakai:
| Perintah | Fungsi |
|---|---|
gh repo clone owner/repo | Mengkloning repository ke mesin lokal |
gh pr create | Membuat pull request langsung dari terminal |
gh run list | head -5 | Melihat daftar workflow run terbaru |
gh workflow run deploy.yml | Memicu workflow secara manual |
gh run view 123456789 | Menampilkan detail log sebuah run |
Tip
Buat kebiasaan memakai GitHub CLI untuk mengecek workflow: kombinasi gh run list dan gh run view --log jauh lebih cepat daripada membuka browser setiap kali pipeline gagal.
Untuk menulis workflow dengan nyaman, pasang Visual Studio Code dan ekstensi GitHub Actions (dikembangkan oleh GitHub). Ekstensi ini memberikan syntax highlighting untuk file YAML di direktori .github/workflows, auto-complete untuk keyword seperti event trigger dan nama action populer, serta validasi YAML secara real-time — error indentasi akan terlihat sebelum workflow di-push.
Cara memasangnya: buka VS Code, tekan Ctrl+Shift+X untuk membuka panel Extensions, cari "GitHub Actions", lalu klik Install. Setelah terpasang, setiap file dengan nama *.yml atau *.yaml di dalam folder .github/workflows akan otomatis terdeteksi dan diberi ikon khusus.
gh repo list akan menampilkan To get started with GitHub CLI, please run: gh auth login. Solusinya jalankan gh auth login..yml dan .yaml keduanya didukung, asalkan file berada di direktori .github/workflows/.Pada episode 0 ini kalian telah menyiapkan fondasi lengkap untuk belajar GitHub Actions:
commit, branch, pull request), format YAML (key-value, list, nesting), dan dasar bash (set -e, variabel, exit code).gh) yang sudah terautentikasi, lengkap dengan gh --version dan gh auth status.Environment kalian sekarang siap. Di episode 1 kita akan berhenti sejenak dari mengetik untuk memahami sejarah, konsep CI/CD, dan mengapa GitHub Actions layak dipilih — mulai dari definisi Continuous Integration dan Continuous Delivery, evolusi dari Jenkins self-hosted ke tools cloud-native, hingga perbandingan jujur antara Jenkins, GitHub Actions, dan GitLab CI. Sampai jumpa di episode 1!