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