У нас это выглядит примерно так.
1. Собрали все мавеном
2. Положили в nexus (там соответственно разные версии артефактов)
3. Деплой скрипт делает следующее
— выкачивает war на прод
— прибивает tomcat
— распаковывает
— запускает
Откатывать также — просто скрипту передается предыдущая версия. Логи у в вас все в приложении, а также мавеновые.
Апдейт Базы Данных — выполняется через maven flyway плагин или, если попроще — sql plugin и скармливается sql файл.
Рассматривали другие «супер» тулы, типа capistrano, puppet и ваще. Но все сводится к тому, что все что они делают можно перенести в мавен, а тот минимальный функционал что нельзя (это остановка томката и выкачиваение артефакта) и шелл скрипт нормально работает.
Шелл скрипт можно запускать из всяких TeamCity, Bamboo или Hudson'Ов в рамках многоступенчатых планов.
Проблему, которую я так и не могу решить — это управление изменениями конфигов Tomcata и Apache: как их менять удобно так, чтобы они трэкались в svn'е, они частично тестировались на одном сервере, и по релизу выкатывать их на все сервера.