I do something similar with my own personal site. It's using Jekyll and the repo is in bitbucket. When I commit to the repo, my server is pinged (to a lightweight Flask app) and the server pulls the changes and recompiles the static pages:
Nicely done. I'm literally (seriously, right at this moment) attempting something similar right now. I have a Middleman site building up on Heroku and being served with nginx. That part is perfect. The content is being fed into Middleman via Siteleaf on build, but Siteleaf doesn't yet have any sort of webhook on publish/edit of an article :( I think I'm going to just have to rebuild on cron every 10 minutes or something...