DEV Community

Cover image for How to Deploy A Golang App to Heroku.
Kenny Olawuwo.
Kenny Olawuwo. Subscriber

Posted on

How to Deploy A Golang App to Heroku.

This is a step by step tutorial on how to deploy a Golang app on Heroku.

Requirements.

  1. Heroku Account
  2. Heroku CLI
  3. Golang v1.14 and above

Step 1.

Create a Heroku account using your email and password or log in if you already have an account.

Download the Heroku CLI by running the command below on Mac OS

$ brew tap heroku/brew && brew install heroku
Enter fullscreen mode Exit fullscreen mode

Or go to https://devcenter.heroku.com/articles/heroku-cli#download-and-install to install on Windows.
Login to Heroku from your terminal using the command

$ heroku login
Enter fullscreen mode Exit fullscreen mode

This will open your web browser to complete the login flow.

Step 2.

Create Procfile by running

$ touch Procfile
Enter fullscreen mode Exit fullscreen mode

or just create it from the directory. Run echo "web: [directory]" > Procfile replace [directory] e.g

$ echo "web: currency" > Procfile
Enter fullscreen mode Exit fullscreen mode

Step 3.

Generate a go.mod file using go mod init github.com/[user_name]/[project_name] e.g.

$ go mod init github.com/heavykenny/currency
Enter fullscreen mode Exit fullscreen mode

Step 4.

Set variable names in .env file e.g. PORT=8080 using

$ heroku config:set PORT=8080
Enter fullscreen mode Exit fullscreen mode

You can also set other variables using this command.

Step 5.

Commit your code using the following commands

$ git init
$ git add . && git commit -m "Deploying to Heroku"
Enter fullscreen mode Exit fullscreen mode

Step 6.

Create a Heroku application using heroku create [project_name] e.g.

$ heroku create go-currency
$ git push heroku master
Enter fullscreen mode Exit fullscreen mode

You can then proceed to test your app using https://[project_name].herokuapp.com i.e.
https://go-currency.herokuapp.com.

If you encounter any error during any of these processes, do not hesitate to comment or reach out. Thank you.

Top comments (4)

Collapse
 
musale profile image
Musale Martin •

I always find it way easier deploying go applications in Heroku. It's intuitive.

Collapse
 
heavykenny profile image
Kenny Olawuwo. •

Yeah, it is easy and straightforward.

Collapse
 
dev117uday profile image
Uday Yadav •

thank you, this is the best and easiest tutorial i could find

Collapse
 
animesh9893 profile image
Animesh Shrivatri •

Thank You for easy steps.