Capistrano + Solaris 10

Salut,

Au cas où (peu probable je me doute) ca intéresse d’autres gens, voici
comment rendre capistrano compatible avec Solaris 10 :

Vérifiez que sudo soit dans un répertoire de la variable PATH défini
dans /etc/default/login (ex: PATH=/usr/bin:/usr/pkg/bin), où lisez
http://dev.rubyonrails.org/ticket/4578. De plus, vous devez autoriser
votre utilisateur (celui utilisé pour deployer) à utiliser la commande
svcadm en root.

Redéfinir les tâches capistrano restart et symlink de capistrano en
utilisant le fichier config/deploy.rb :

Redefine some taks to be Solaris compliant

task :symlink, :roles => [:app, :db, :web] do
on_rollback { run “ln -nfs #{previous_release} #{current_path}” }
run “rm -f #{current_path}”
run “ln -nfs #{current_release} #{current_path}”
end

Le ln de Solaris, au contraire de la version GNU, n’écrase pas un lien
existant même avec les options nfs. Il faut donc supprimer le lien
initial.

task :restart do
sudo “/usr/sbin/svcadm restart apache2”
end

On utilise la commande SMF pour redémarrer apache2.

Voil