views:

575

answers:

2

I'm starting to read up on Capistrano after using Rake tasks to deploy apps for a long time. It's really striking how similar it is to Rake. A lot of parallel commands (like cap -T) and a lot of identical concepts (namespaces, tasks).

Does anyone know the history behind that? Is Capistrano an extension of Rake, or built on top of it?

+9  A: 

Capistrano has no dependencies on rake. It was written from scratch as a DSL for handling remote servers. It's evident that some aspects of capistrano were influenced by rake, but Jamis Buck felt it was necessary to make capistrano stand on its own. Capistrano tasks behave slightly differently than rake tasks and their hookable nature separates them from rake tasks.

Capistrano has received minor criticism for not building upon rake, but it is still the most popular deployment tool at least in the rails community. Other projects such as Vlad the Deployer counter capistrano's implementation by using rake and ssh directly.

Ryan McGeary
+1  A: 

Capistrano started out as a series of Rake tasks but went indie early on in its development.

Henry