What is the easiest way to deploy a simple Go web application?

What is the easiest way to deploy a simple Go (Golang) web application on a server, for someone coming from a PHP environment?

The easiest way is to compile your Go executable for the server’s architecture and OS on your development machine, just copy and run it there.

A Go executable is self-sufficient. It won’t need an external web-server, a runtime, runtime configurations, etc.

However, usually, you’ll also have a database backing your service, some kind of configuration files and similar. Containerization is a good way to deal with these situations. I use Docker Compose to deploy my services and I’ve also automated it in such a way that when I push to the "release" git branch the CI/CD system will automatically compile my Go code, verify it’s correct using various static code analysis tools such as and go vet and deploy it as a containerized service on production servers.

If you want to get new posts, make sure to subscribe to Value In Brief by Email.