Actually, it's there just because of legacy tools we had :)
So, we've already had Capistrano to help deploy lots of PHP apps, so this fit in quite nicely.
Ansible was a last-minute change from our Bash provisioning scripts. All in all, I'm very impressed with it, and it just simplified the crap out of the Bash scripts :D
I will be removing Capistrano as a dependency and either use (1) Ansible or (2) use an NPM module to just run the ~10 SSH commands needed for deployment.
I was more interested in why use it alongside with ansible; does it need to be multi-server automation? I thought it was just a toy server for development purpose. ansible seems enough for that kind of job (if it just needs to be a single server - and even for a few additional one that's adequate too.
Ansible is actually provisioning our 3 different deployment environments:
$ cd provisioning
$ ansible-playbook provision -i local
$ ansible-playbook provision -i staging
$ ansible-playbook provision -i production
Running `cap {env} genesis:provision` pretty much just runs that script, but has a fail-safe wrapper for the first time you provision a new server, because you will need to provide a username+password. After provisioning, there's a "deploy" user with a private key used for SSH going forward.
Granted, I've only been using Ansible for about a week, but it is definitely better than the bash scripts used before :)