Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How is Capistrano related to Rake?

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?

like image 577
Ethan Avatar asked Jul 17 '09 23:07

Ethan


1 Answers

UPDATE: Capistrano v3 switched back to using a Rake DSL instead of rolling their own DSL.


Capistrano v1 and v2 had 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.

like image 108
Ryan McGeary Avatar answered Oct 09 '22 18:10

Ryan McGeary