· 2 min read

Capistrano 2.2.0 ist verfügbar

Dynamische Rollen Definitionen: Die role()-Methode akzeptiert nun auch einen Blockbereich. Die Rückgabe des Blocks sollte als ein Array von Hostnamen als String oder Capistrano::ServerDefinition-Objekte sein.

role :app do
  hosts = some_method_that_looks_up_the_current_hosts
  hosts[0,3]
end

Alternative Server Definitionen: Über die Methode “server” können mehrere Zielmaschinen in einr Zeile angegeben werden:

role :app, "server"
role :web, "server" # Die beiden Zuweisungen lassen sich auch
# in einer Zeile definieren:
server "server", :app, :web

Support für :max_hosts: Damit bei sehr vielen Zielmaschinen keine Probleme mit Resourcen entstehen, kann man nun für task den Parameter :max_hosts setzen. Der Wert von max_host gibt an, wieviele Zielmaschinen gleichzeitig in dem jeweiligen Task eine Aufgabe abarbeiten sollen:

task :ping, :max_hosts => 100 do
# anything here will only
# run against 100 hosts at a time
end # alternatively, you can pass :max_hosts
# to the run command itself for
# finer granularity task :pong do # this will run on ALL hosts at once
run "something" # this will run on no more than 100 hosts at a time run "something-else", :max_hosts => 100
end

Zu den Verbesserungen in Capistrano 2.2.0 gehören unter anderem der bessere Support für GIT und die Passwort-Abfrage für Mercurial-SCM. Eine vollständige Übersicht der Änderungen findet ihr im Changelog: CHANGELOG

Back to Blog