ThuisBalletje
TrainingenBalletje
ConsultancyBalletje
Blog Balletje
Capistrano Namespaces
13-02-2008

Groeperen van je tasks

Als versie 2 van Capistrano je eerste ontmoeting is, maak dan gebruik van de nieuwe namespace mogelijkheid. Een namespace geeft de mogelijkheid om je tasks te groeperen. En dat is heel handig. Zeker als het aantal tasks aanzienlijk is.


Als we vanuit onze project map het volgende doen:

cap -T

dan krijgen we al onze capistrano tasks te zien. Maar in capistrano 1 stonden die allemaal hotseflots door elkaar heen, en zocht je je soms te pletter als de task met een bepaalde naam begon. Niet meer !

namespace :station do

desc 'Uitrollen App'

task :uitrollen do

# ...

end


desc 'Start Nginx Web Server'

task :start_nginx, :roles => 'web' do

sudo "nginx -c /usr/local/nginx/conf/nginx.conf"

end

end

Als ik nu cap -T intik dan krijg ik netjes al me tasks te zien die horen bij me namespace.

...

cap deploy:check

cap deploy:cleanup

...

cap station:uitrollen

cap station:start_nginx

En met cap -T | grep station is het nog duidelijker. Als ik een task in een namespace wil gebruiken in een ander script dan kan dat heel simpel met:

station.uitrollen of station.start_nginx

En het is uiteraard mogelijk om meerder namespaces aan te maken.