Ich verwende Capistrano, um meine Bereitstellung zu verwalten, und ich habe zwei verschiedene Rollen in meinem Setup -: Web und: Verarbeitung. Beide haben die üblichen Aufgaben: deploy tasks, aber der Task: restart muss für die beiden Servertypen unterschiedlich sein.Wie definieren Sie die gleichen Aufgaben für verschiedene Rollen in Capistrano?
So war mein erster Versuch, etwas wie folgt aus:
task :restart, :roles => :web do
run "... web related restart stuff ..."
end
task :restart, :roles => :processing do
run "... processing related restart stuff ..."
end
Was nicht funktioniert, weil die zweite: Neustart (für: Verarbeitung von Rolle) ersetzt die erste: Neustart (für die: Webrolle), und das: web: neustart passiert nie.
Ich habe mich kurz umgesehen, um zu sehen, ob ich bedingten Code schreiben könnte, abhängig von der Rolle (oder den Rollen) eines Servers, wenn die Aufgabe ausgeführt wird, aber es gibt keine Dokumentation für so etwas. Irgendwelche Ideen?