Friday, March 5, 2021

Cara Deploy Aplikasi Golang ke Heroku

Pada tutorial kali ini kita akan ujicoba melakukan deployment aplikasi yang kita bangun menggunakan Golang ke Heroku.Tentunya silakan menyiapkan akun heroku dan sedikit pengetahuan seputar docker dan heroku.

Untuk sourcecode aplikasi golang sederhana yang kita akan deploy sbb:

  package main

import (
	"github.com/gin-gonic/contrib/static"
	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()

	r.GET("/hello", func(c *gin.Context) {
		c.String(200, "Hello, World!")
	})

	api := r.Group("/api")

	api.GET("/ping", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "pong",
		})
	})

	r.Use(static.Serve("/", static.LocalFile("./views", true)))

	r.Run()
}

untuk file html:

<html>
<body>
<h1>Halo, gan!</h1>
</body>
</html>

kita coba run dari terminal untuk menjalankan server dengan perintah go run hello.go dan kunjungi halaman http//localhost:3000 di browser.

Setelah itu buat aplikasi tersebut dalam format container, dengan terlebih dulu jalankan perintah go build untuk compile dulu. setelah itu kita bikin sebuah file Dockerfile untuk membuat container docker:

FROM golang:1.14.9-alpine
RUN mkdir /build
ADD go.mod go.sum hello.go /build/
WORKDIR /build
RUN go build

dan build container tersebut dengan:

docker build -t helloworld .

jangan lupa tanda titik (.)

untuk deploy ke heroku, login dulu kemudian create aplikasi:

heroku login

heroku create

setelah itu buat satu file dengan nama heroku.yml dengan isi:

build:
docker:
web: Dockerfile

run:
web: ./helloworld

dan push data ke heroku dengan perintah:

git push heroku main

heroku open



0 comments:

Post a Comment