Cara Deploy Golang Sebagai Systemd di Ubuntu
Golang adalah bahasa pemrograman yang powerfull dan mampu dikompile ke binary. Di dalam artikel ini saya akan membagikan sedikit pengalaman saya ketika deploy hasil build golang sebagai systemd di ubuntu server. Systemd sendiri adalah service manager untuk sistem operasi ubuntu. Dengan kata lain kita akan menjadikan service dari hasil build project go yang kita buat.
Pada tutorial ini saya juga akan pakai krakend sebagai API gateway-nya. Krakend sendiri adalah API gateway yang powerfull dan support concurrency request tapi pada tutorial ini saya tidak akan membahas krakend saya hanya akan membahas deploy golangnya saja.
Langkah pertama yang harus dilakukan buat file dengan dengan nama myapp.service
Kemudian buat lagi dengan ekstensi yang sama tetapi untuk service krakend dengan nama yang berbeda contoh myappgateway.service
Selanjutnya copy-kan kedua file tersebut ke path systemd pada ubuntu /lib/systemd/system/
cp myapp.service /lib/systemd/system/
cp myappgateway.service /lib/systemd/system/
Kemudian setelah itu jalankan service tersebut dengan systemctl
sudo systemctl start myapp.service
sudo systemctl start myappgateway.service
Untuk mengaktifkannya service saat boot
sudo systemctl enable myapp.service
sudo systemctl enable myappgateway.service
Setelah itu kita cek dulu apakah sudah sesuai dengan command status
sudo systemctl status myapp.service
sudo systemctl status myappgateway.service
Jika kita ingin menghentikan service dengan command stop
sudo systemctl stop myapp.service
sudo systemctl stop myappgateway.service
Oke kita sudah berhasil deploy hasil build projek golang kita di server kita cek dengan postman atau browser https://yourserverhostorip:8080. Oke terima kasih sudah membaca artikel ini.