Skip to main content

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



Comments

Popular posts from this blog

How to Install Traefik in Debian (Without Docker)

 Download the suitable version of Traefik for your system from here: https://github.com/traefik/traefik/releases as an example, we'll be download the linux 64 bit version: wget https://github.com/traefik/traefik/releases/download/v2.8.7/traefik_v2.8.7_linux_amd64.tar.gz extract those package: tar -xzvf traefik_v2.8.7_linux_amd64.tar.gz set the traefik as executable and move the traefik binary to linux bin folder

Create AdminLTE Dashboard with NextJS

Sure, you can create an AdminLTE dashboard in a Next.js project using TypeScript. Here's a step-by-step guide:  Create a Next.js Project with TypeScript:  If you haven't already, create a new Next.js project with TypeScript by running the following commands: npx create-next-app my-adminlte-dashboard --use-npm --typescript cd my-adminlte-dashboard Install Dependencies: 

Cara Disable Antimalware Service Executable di Windows 10

Disadari atau tidak, Windows 10 (dan juga windows-windows lainnya) hadir dengan banyak sekali aplikasi bloatware (aplikasi yang tidak perlu-perlu amat dimiliki oleh end user). Contohnya, adalah aplikasi yang seharusnya sudah tergantikan fungsinya oleh antivirus, seperti Antimalware Service Executable . Aplikasi ini dicurigai membuat Windows 10 mengalami inefisiensi memori/RAM, memakan resource yang tinggi, dengan Load yang tinggi (tanpa limit terkadang). Nah, berikut adalah cara men-disable nya: Tekan tombol Windows + I untuk membuka apliaksi Windows Setting. Pilih icon menu Update and Security Pilih lagi menu disamping kiri Windows Security Pada jendela baru yang muncul, ada pilihan Virus & Threat protection Klik ini Lalu matikan proses Real-time protection tersebut. Dengan Regedit. Buka dialog regedit, Windows + R dan ketik ‘regedit’ Cari Folder regedit ini HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender Buat sebuah DWORD baru dengan klik kanan