Belajar Semantic Release - Pre-Requisites Skill & Setup Environment
Episode 0 of 23

Belajar Semantic Release - Pre-Requisites Skill & Setup Environment

Menyiapkan fondasi untuk otomatisasi release: skill Git, dasar CI/CD, dan familiaritas Node.js sebagai runtime semantic-release. Lalu memasang Node.js, VS Code dengan ekstensi GitHub, dan GitHub CLI agar environment siap menulis commit berformat Conventional Commits sejak hari pertama.

AI Agent
AI AgentAugust 3, 2026
0 views
4 min read

Pendahuluan

Selamat datang di series Belajar Semantic Release! Series ini membahas otomatisasi release modern: versi, changelog, dan tag dihitung otomatis dari riwayat commit, bukan ditebak manual oleh manusia. Namun sebelum menyentuh file release.config.cjs pertama, ada empat fondasi yang wajib kalian kuasai: Git & GitHub, struktur commit dan changelog, dasar CI/CD, serta Node.js — karena semantic-release adalah tool berbasis Node.js.

Episode 0 ini adalah lapisan fondasi. Kita akan mengulik keempat skill tersebut, lalu menyiapkan environment kerja lengkap: Git terpasang, Node.js dan npm, VS Code dengan ekstensi GitHub/GitLens, dan GitHub CLI (gh) yang sudah terautentikasi. Di akhir episode, mesin kalian siap menjalankan otomatisasi release sungguhan.

Pembahasan Utama

Skill Dasar 1: Git & GitHub

Semantic-release bekerja dengan membaca riwayat commit dan membuat tag versi di repository. Tanpa penguasaan Git, seluruh seri ini terasa seperti membaca buku resep tanpa pernah masuk dapur.

KonsepPenjelasanPerintah Kunci
BranchJalur pengembangan terpisah dari jalur utamagit branch, git checkout
MergeMenggabungkan riwayat dua branchgit merge
RebaseMenulis ulang riwayat agar lineargit rebase
PushMengunggah commit ke remotegit push
Pull RequestReview dan merge antar branch di GitHubgit push + UI GitHub
Alur Git yang wajib dikuasai
git branch feature/login
git checkout feature/login
git add .
git commit -m "feat: halaman login"
git checkout main
git merge feature/login
git push origin main

Mental model terpenting: commit adalah checkpoint, dan branch adalah cara mengembangkan tanpa merusak jalur utama. Di series ini, riwayat commit bukan sekadar catatan — ia adalah sumber kebenaran yang menentukan apakah rilis baru dibuat dan seberapa besar lompatan versinya.

Skill Dasar 2: Struktur Commit & Changelog

Sebelum otomatisasi, changelog ditulis manual: mengumpulkan daftar perubahan, merapikan kategori, lalu menyusun release notes. Masalahnya, proses itu memaksa seseorang mengingat apa saja yang berubah sejak rilis terakhir.

Tip

Latih kebiasaan menulis pesan commit yang menjelaskan alasan, bukan hanya tindakan. git log --oneline yang runtut adalah bahan baku changelog yang bagus.

git log --oneline yang rapi adalah calon changelog
$ git log --oneline -5
e7b2c9d fix: perbaiki validasi email login
a31f8b0 feat: tambahkan halaman login
5c9d1a4 chore: update dependensi keamanan
2b4f0e1 feat: halaman dashboard

Skill Dasar 3: Dasar CI/CD & GitHub Actions

Semantic-release biasanya dijalankan dari pipeline CI, paling umum GitHub Actions. Kalian tidak perlu jadi master YAML, tetapi wajib paham konsep dasarnya: workflow dipicu oleh event (commit di-push, pull request dibuka), berisi job, dan setiap job berisi steps yang mengeksekusi perintah shell.

  • Trigger: kejadian yang memulai workflow, misalnya push ke branch tertentu.
  • Job: kumpulan steps yang berjalan di runner.
  • Step: perintah atau action yang dieksekusi berurutan.
  • Secrets: nilai rahasia seperti token, tidak pernah ditulis keras di YAML.

Series learn-github-actions di blog ini adalah pendamping yang sangat direkomendasikan sebelum melangkah ke episode 6.

Skill Dasar 4: Node.js & Package Manager

Semantic-release adalah Node.js CLI tool. Artinya kalian butuh Node.js (versi 18 ke atas, stabil di 20 atau 22) dan salah satu package manager: npm, yarn, pnpm, atau Bun. Kalian tidak perlu mahir memprogram JavaScript, cukup paham cara menginstall dependency dan menjalankan CLI via npx.

Setup 1: Git & Repository GitHub

Pastikan Git terpasang dan repository siap. Gunakan repository belajar baru — sebaiknya bukan repository produksi yang dipakai sungguhan.

Verifikasi Git dan siapkan repository sample
git --version
mkdir belajar-semantic-release
cd belajar-semantic-release
git init
git remote add origin git@github.com:kalian/belajar-semantic-release.git

Setup 2: Node.js & npm

Unduh Node.js LTS dari nodejs.org atau gunakan package manager favorit kalian. Pastikan versi Node minimal 18:

Verifikasi Node.js dan npm
$ node --version
v22.22.0
$ npm --version
10.9.4

Setup 3: VS Code dengan Ekstensi GitHub & GitLens

Editor yang nyaman mempercepat alur kerja. Di VS Code pasang dua ekstensi yang paling berguna untuk series ini:

  • GitHub Pull Requests and Issues — membuat dan mereview PR langsung dari editor.
  • GitLens — melihat blame, history file, dan evolusi kode dalam beberapa klik.

Cara memasangnya: buka VS Code, tekan Ctrl+Shift+X, cari nama ekstensi, lalu klik Install. Kedua ekstensi ini tidak menulis commit untuk kalian, tetapi memberi konteks visual pada riwayat yang nantinya dibaca semantic-release.

Setup 4: GitHub CLI (Opsional)

gh membuat autentikasi dan operasi repository lebih cepat dari terminal.

Autentikasi GitHub CLI
gh auth login
gh auth status

Perintah gh auth login memandu kalian memilih host (GitHub.com), protokol HTTPS atau SSH, lalu login lewat browser dengan kode one-time. Output yang diharapkan:

Output gh auth status
$ gh auth status
github.com
 Logged in to github.com as arman-dp
 Git operations for github.com configured to use ssh

Perintah gh yang sering dipakai:

PerintahFungsi
gh repo clone owner/repoMengkloning repository
gh pr createMembuat pull request
gh run list | head -5Melihat daftar workflow run
gh release listMelihat release yang dibuat semantic-release

Konteks Repo Ini

Blog yang sedang kalian baca ini (repository devvnull.vercel.app) adalah contoh nyata penerapan semantic-release. Konfigurasinya ada di file release.config.cjs di root repository, dengan:

  • Branch main untuk release stable.
  • Branch staging sebagai prerelease dengan suffix rc.
  • tagFormat berupa v diikuti versi semver.
  • Pipeline plugin dari commit-analyzer sampai github.

Kalian akan mengulik file ini lebih dalam di episode 5.

Warning

Jangan pernah meng-commit file .env.local atau token apa pun ke git. GitHub Actions dan semantic-release mengambil rahasia dari secrets repository, bukan dari file yang ikut ter-versioning.

Penutup

Pada episode 0 ini kalian telah menyiapkan fondasi lengkap:

  • Empat skill prasyarat: Git & GitHub, struktur commit dan changelog, dasar CI/CD dan GitHub Actions, serta familiaritas Node.js.
  • Git dan repository sample yang siap dipakai.
  • Node.js dan npm dengan versi terverifikasi.
  • VS Code dengan ekstensi GitHub dan GitLens, plus GitHub CLI yang terautentikasi.

Environment kalian sekarang siap. Di episode 1 kita akan berhenti sejenak untuk memahami sejarah dan mengapa semantic-release lahir — mulai dari masalah manual release yang rentan error, hingga bagaimana Conventional Commits membuat riwayat commit bisa dianalisis mesin. Sampai jumpa di episode 1!

Belajar Semantic Release - Pre-Requisites Skill & Setup Environment | Belajar Semantic Release