2

I have a node.js application on my Github. Right now I am using Heroku for hosting it but I want to give DigitialOcean a try (the $5/month is more affordable).

I am used to using Heroku, where I just go create an app > connect it to my github account > deploy from the master branch > boom app deployed.

When I signed up for DO and started exploring it seemed way too much and too many steps to get my app deployed. I researched around to find a simpler way (similar to one I follow in Heroku) but all the blogs and YouTube videos go through the same tedious process.

I know I am being lazy but I just need a few clicks app deployment. Does anyone know a better (smarter) way I can deploy my app on DO from Github?

codeinprogress
  • 3,193
  • 7
  • 43
  • 69
  • 2
    There's no way to 100% administrate a DigitalOcean server from the browser. If you're not willing to learn how to do stuff from the Linux command line, it's not the right service for you. Not that there's anything wrong with that - it's why Heroku exists :p – Joe Clay Mar 28 '17 at 14:53
  • I should mention however that DigitalOcean's [tutorials site](https://www.digitalocean.com/community/tutorials) is excellent, if you do want to learn how to do it yourself :) – Joe Clay Mar 28 '17 at 14:56
  • Thanks. I think I will give it a try before I come to any conclusion. I will at least put some efforts in learning. From your experience is DO better than Heroku? Price wise and service wise. – codeinprogress Mar 28 '17 at 14:58
  • I don't think one is better than the other, it's just a trade off - DigitalOcean costs less and gives you more control over the server, but you have to manage stuff like updates and deployments yourself, whereas Heroku is more expensive, but handles all of that stuff for you. I'd definitely recommend giving DO a try (my site is hosted on there, and I've had really good experiences with them), but there's zero shame in going back to Heroku if you decide it's not for you :) – Joe Clay Mar 28 '17 at 15:14

1 Answers1

2

It will not be as easy with Heroku. It is always tempting to use cheaper services like Digital Ocean or Vultr and pay only fraction of the price (especially using coupon links that can make it free for months - Digital Ocean, Vultr) but having your own VPS means that you need to manage it yourself. Simplifying that process is what you pay for when you're using Heroku. But it doesn't have to be that bad.

Here is a good tutorial on how to do it:

And see this list of tutorials - search for those with "deploy" in the title:

Basically you have few options that I would consider here:

  1. A semi-manual deploy with git - You can install a git server on your VPS and push to it whenever you want to deploy a new version

  2. Automatic deploy with git - You can add a deployment process to you CI scripts that will do what you do manually in (1) but after all tests pass

  3. You can trigger a pull from git on the server with ssh or a custom API

  4. You can do (3) in your CI scripts

  5. You can add a custom webhook in GitHub to notify your server about new version and your server may then pull the code and restart

  6. You can add a custom webhook in CI and do the same as in (5)

rsp
  • 107,747
  • 29
  • 201
  • 177
  • Thanks for the pointers. I will go through the tutorials and see if it makes sense to deploy my app there. What is your personal opinion on DO? For a professional app deployment which one is better? – codeinprogress Mar 28 '17 at 14:59