Tools for doing it locally exist but how could it be done on a webserver and every time a commit is pushed?
References: