Deployment Go di Awanio

Sebelum melakukan deployment aplikasi berbasis Go, ada beberapa hal yang harus anda siapkan, yaitu:

  • Akun Awanio Jika belum punya anda bisa mendafter menggunakan account Github atau Gitlab.
  • ssh public key yang sudah didaftarkan di halaman dahsboard Awanio
  • git url endpoint yang akan digunakan untuk push code. Formatnya adalah git@awan.io:TEAM/APP_NAME.git
  • file awan.yml yang diletakan pada top folder aplikasi

Berikut adalah contoh isi file awan.yml yang harus anda isikan untuk menjalankan runtime aplikasi menggunakan Go:

version: '1.0'

web:
  type: golang
  version: 1.9
  run: go run main.go

Selain versi 1.9 Awanio juga mendukung Go versi 1.10 dan 1.11. Silahkan isikan versi pada direktif version di file awan.yml.

Awanio secara default menggunakan glide sebagai package manager. Untuk itu anda harus menyiapkan sebuah file glade.yaml. Berikut contoh isi dari file glide.yaml

package: awanio-go-app
import:
- package: gopkg.in/gin-gonic/gin.v1

Jika kamu ingin menggunakan dep sebagai pacakge manager, maka berikut adalah contoh file awan.yml yang perlu disiapkan:

version: '1.0'

web:
  type: golang
  version: 1.9
  package_manager: dep
  run: go run main.go

Pastikan kamu ikut menyertakan file Gopkg.toml dan Gopkg.lock kedalam commit. Kedua file ini dibutuhkan untuk melihat package apa saja yang dibutuhkan pada saat proses deployment.

Selanjutnya, buat sebuah file main.go yang akan menjadi bootstrap untuk menjalankan aplikasi. Berikut adalah contohnya:

package main

import "github.com/gin-gonic/gin"

func main() {

 r := gin.Default()

 r.GET("/", func(c *gin.Context) {
  c.String(200, "Hello World")
 })
 r.Run(":80") 
}

Silahkan compile dan jalankan aplikasi di local development kemudian cek pada browser.

Setelah aplikasi siap, tambahkan git remote awan.io ke dalam project:

git remote add awan git@awan.io:TEAM/APP_NAME.git

Untuk selanjutnya silahkan commit dan push ke git server ke Awanio

git push awan master

Setelah deployment selesai silahkan cek aplikasi anda pada https://app-name.diawan.id