There's a fairly popular site I run that is run like that, except we don't use github. Just `git push production production` to push the production branch to the production machine. The bare git repo there has a post-commit hook that detects production branch pushes and unpacks the branch to the correct server directory, compiling some static assets along the way. If we want you to be able to push to production we just add your public key to the machine where that git repo resides (no login, just git). Makes pushing changes very easy. But it's obviously not high-availability, or CDN-backed or anything crazy.