For a very long time, Capistrano was, without any doubt, the de-facto tool to deploy your dynamic languages applications. Now there is a better one, Ansible based, called Ansistrano.
Ansistrano was initially created by Carlos Buenosvinos and is a set of 2 Ansible roles: deploy and rollback. It has almost 200 stars on Github and some large companies are already using it.
In this video you can see how to deploy a small Silex application and you can also see how to rollback and add a small hook reloading the opcache in your production servers.
If you use Ansible and are looking for a deployment / rollback alternative please check it out! Help us spread the love!