Live Reload Aplikasi Go Dengan Air
Jadi ketika saya ngoding pakai Go untuk ngebuat Rest API Server agak terlalu susah untuk debugging dan ngelakuin development. Saya biasanya debugging menggunakan function log.Println()
yang akan tampil di terminal program yang sedang berjalan.
Ya sebenarnya ga ada masalah, fine-fine aja. Tapi lama kelamaan eneg juga selalu tekan shortcut ctrl + c
untuk berhentiin program dan ngelakuin compile ulang jadi binary file terus running binary filenya.
Ya bisa juga sih untuk ketik perintah go run main.go
tapi kan sama aja setiap ngelakuin perubahan diberhentiin lagi programnya dan ketik ulang perintah go run main.go
lagi.
Terus iseng nanya ke salah satu grup Discord, terus ada yang nyaranin pakai air
supaya hot reloading. Jadi air ini command line utility untuk ngebantu development Go.
Mekanisme utilitas ini dia akan watching beberapa folder dan file yang ada di current directory di aplikasi Go nya, setelah itu ngelakuin building dan dilanjutkan dengan ngerunning ulang programnya.
Dia bakal ngerunning ulang kalau dari beberapa folder yang dia watch ada perubahan, biasanya triggernya pas ngesave filenya.
Langkah-langkah
Pertama kita harus download utility airnya. Dan air ini juga cross platform, bisa dipake di berbagai macam sistem operasi. Disini saya mempraktekan di sistem operasi Windows, jadi tinggal download file .exe
di halaman release di sini https://github.com/cosmtrek/air/releases.
Tinggal pilih aja sesuaikan sistem operasi yang sedang kalian pakai. Karena di sini saya pake Windows ya saya download file dengan ekstensi .exe
.
Setelah terdownload rename aja filenya, setelah itu bisa masukin ke path environment variables kalau mau pakai secara global. Kalau untuk praktek di sini saya akan langsung aja pindahin ke folder directory aplikasi Go saya.
Terlihat di foldernya ada file air.exe
yang sudah saya pindahkan ke folder directory aplikasi Go saya.
Tinggal buka terminal dan ketik aja air.exe
untuk ngerunning utility nya. Di sini saya pakai Git Bash, jadi untuk ngerunningnya dengan perintah /air.exe
Mekanismenya dia bakal ngebuat folder dengan nama tmp
isinya itu binary file yang dari file main.go
. Jadi sekarang bebas deh setiap kita ngelakuin beberapa perubahan di file yang telah diwatch akan otomatis ngebuild dan ngerunning ulang oleh utility air nya.
Jadi kita ga perlu repot untuk ngeberhentiin programnya, ngelakuin compile ulang, dan running ulang binary filenya.