Putting my First Revel App to Production

I have written a few blogs while developing a small revel application, and I decided to go live with it.

Previously, I have gone live with container based web-apps which essentially meant having a war file running in a tomcat container. Going live with a go app was very different.

I decided not to go live with a single binary file, since it would have involved large(ish) data transfer for every new deployment. I would have needed to copy a single binary over and over again. Also, my development machine is a Mac and my server environment is ubuntu.

After setting up go on my server. I cloned the code from git repo, onto my server.
Now I needed to fetch dependencies too.

go get ./...

The command above recursively brought in all the dependencies for my project. (Versioning for dependencies? I didn’t get into any issues there. Lucky!!!)

All set to “deploy” my first go app.

I did

nohup revel run app-name prod

That is all about it.

Redeployments?

Check out the code (git pull), kill the running app (pgrep + kill) and then again

nohup revel run app-name prod

Containers? Docker? Well, I guess I don’t need them yet. Not at least right now. Its running on a single server.

I have had this running for 2 weeks, (No traffic on it, though), and did multiple redeploys and have not faced any issue.

Let me know, if you feel I could improve on what I am doing.

Update : Here is the link to the app, http://www.socialpaster.com/

Thanks!

~~ Whizdumb ~~
Email : sachin.xpert@gmail.com