Automatizando el process de extracción de git en el server dev / QA en commit

Tengo mi aplicación Rails alojada en github. Cada vez que ocurre una confirmación en la twig 'dev', me gustaría hacer git pull en el recuadro dev y también invocar el command '/etc/init.d/apache2 restart'. ¿Esto es algo que puedo hacer con la implementación de Capistrano o puedo escribir algún tipo de script de shell personalizado y de alguna manera engancharme en mi aplicación Rails para llamar a ese script de shell?

Necesitará un gancho posterior a la recepción en el server git que causa un jalón en el cuadro dev. Un DAFS rápido para "implementación de git con post-recepción" encontró bastantes resources, como http://ryanflorence.com/deploying-websites-with-a-tiny-git-hook

Yo personalmente preferiría usar un sistema de compilation como Jenkins para esto ya que te da más control y visibilidad. Hemos establecido un sistema de deployment continuo utilizando los ganchos Jenkins y github post-receive con relativamente poco alboroto. Otra ventaja es que puede ejecutar sus testings antes de implementar automáticamente (si pasan) encadenando trabajos.