Fork me on GitHub

Specifying Deployment Dependencies

Capistrano comes with a deploy:check task. You may wonder what the aim of this task is, because most of the time when you run this task, everything is ok. Actually, this task is configurable, and this recipe will explain you how to configure it in order to make this task useful.


Capistrano provides a depend method you can use in your deploy.rb file. This method adds rules to the deploy:check process:

depend :local,  :command, "git"
depend :remote, :directory, "/path/to/dir/"

You can either add :local rules, or :remote rules.

Locally, you can check if a command is available or not, but remotely, Capistrano offers more rules:

:directory checks the presence of a directory.

:file checks the presence of a file.

:writable checks whether a directory/file is writable.

:command checks if a command is available.

:deb checks if a package is installed.

Found a typo? Something is wrong in this documentation? Just fork and edit it !