はじめに
golangを無料で動かせるサーバーを探していたらherokuがあったので、heroku上でgolangを動かしてみる。
下記のページを参考に作業を進める devcenter.heroku.com
前提条件
- wslのubuntu環境にて作業を行う
- すでにherokuでアカウント作成している状態
ローカル環境
- herokuのcliを下記のコマンドインストールする
curl https://cli-assets.heroku.com/install.sh | sh
- herokuにログインする
heroku login
下記のページを参考にgolangプロジェクトのひな形をクローンする devcenter.heroku.com
下記のコマンドを一通り実行するとgit cloneしてきたgolangプロジェクトがherokuにgolangのソースがデプロイされる
git clone https://github.com/heroku/go-getting-started.git cd go-getting-started heroku create git push heroku main
- ひな形のプロジェクトはginフレームワークを利用している
package main import ( "fmt" "io/ioutil" "net/http" "net/url" "log" "os" "github.com/gin-gonic/gin" _ "github.com/heroku/x/hmetrics/onload" ) func main() { port := os.Getenv("PORT") if port == "" { log.Fatal("$PORT must be set") } router := gin.New() router.Use(gin.Logger()) router.LoadHTMLGlob("templates/*.tmpl.html") router.Static("/static", "static") router.GET("/", func(c *gin.Context) { c.HTML(http.StatusOK, "index.tmpl.html", nil) }) router.Run(":" + port) }