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