I find devOps kind of challenging. I think except heroku, there is no other easy way to do this. I would love to know how you make this process easy and what kind of tools and technologies you use to make this possible.
Heroku is nice, most rails tutorials recommend it.
That being said, I wonder what's stopping you from setting up a machine on AWS or Digital Ocean. Once you have the initial setup ready, it's a matter of triggering a .sh file using webhooks directly from your version control.
You can also have your version control hooked up to say Codeship, Shippable or Buddy (all of them have excellent tutorials to get started, DevOps won't be challenging at all if you let these guys handle it for you) and they will take care of triggering your ./sh after running your tests. Let me know if you need assistance with any of the things I said - happy to help! :-)
I use Capistrano, which can do much of what ansible can, but more rails specific. It fetches the new source, compiles the assets, makes a git deploy tag, and restarts the servers etc.
Deploying would look like this:
cap production deploy or cap stage deploy
It can do some basic things like restart puma servers as well
I use Heroku and Digital Ocean.
Heroku definitely is a simple process to publish a rails app by simply writing a shell script. I use git and scripts to publish my Digital Ocean apps but have used azk for a client who used the tool. It's worth taking a look at:
https://github.com/azukiapp/azk
Hope this helps.
Elayan Hamamrah
Engineer
My Lovely choice always going for Heroku, but always planning if any project gets that time it's the perfect timing to promote.
Sometimes i'm saying i will go for DO, Linode, Azure or Amazon.
But as individual it's coming for the matter of cost at first.
However, i will keep using Heroku even when it's time to upgrade package. until i find it's more hard to stay with it.