Cara Deploy Golang Sebagai Systemd di Ubuntu

  • Bagikan

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

1 [Unit]
2 Description=My golang app.
3
4 [Service]
5 Type=simple
6 Restart=always
7 RestartSec=5s
8 WorkingDirectory=/your/valid/path/
9 ExecStart=/your/valid/go/path –port=3000

Kemudian buat lagi dengan ekstensi yang sama tetapi untuk service krakend dengan nama yang berbeda contoh myappgateway.service

1 [Unit]
2 Description=My golang app gateway.
3
4 [Service]
5 Type=simple
6 Restart=always
7 RestartSec=5s
8 WorkingDirectory=/your/valid/path/
9 ExecStart=/your/valid/path/krakend run -c config.json –port=8080

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.

Baca Juga:  Nostalgia Bersama Game Android Adaptasi Anime Let's and Go
  • Bagikan