Notizia molto interessante per i programmatori Ruby, in particolare quanti sviluppano o gestiscono un progetto basato su Ruby on Rails.
Jamis Buck ha rilasciato oggi la nuovissima versione 2.2.0 di Capistrano, la libreria per automatizzare il deploy di una release.
Oltre ai bugfix di rito, le novità più interessanti riguardano gli utenti che distribuiscono la propria applicazione in clustering su più server.
Capistrano 2.2.0, infatti, introduce la definizione dinamica dei ruoli (role) ed il supporto all'opzione :max_hosts nella creazione di un task.
La prima novità consente di passare un blocco al metodo role
. Il valore restituito dal blocco sarà automaticamente assegnato al ruolo definito.
role :app do # una serie di elaborazioni # per estrapolare la lista di host # ipotizzando che la variabile host ora contenga l'array da assegnare host end
:max_host => N
, se presente, suddivide l'esecuzione di un task in tanti gruppi di N server.
Questo permette di eseguire un task di Capistrano anche su cluster molto numerosi riducendo la probabilità che l'esecuzione fallisca.
task :heavy_task, :max_hosts => 10 do # esegue il comando spezzando l'elaborazione # su 10 server alla volta end
Ulteriori aggiornamenti sono elencati nel changelog completo. L'aggiornamento non dovrebbe comportare problemi di compatibilità con eventuali installazioni precedenti. Dai primi test non ho riscontrato problemi con ricette cucinate per Capistrano 2.1.0.