Nuovo anno, nuovo tool per i deploy (o quasi)
Posted by michele, Wed Jan 10 01:10:00 UTC 2007

Distante dai botti di fine anno, dalle strenne natalizie e dai rumors su Vista™ due giorni prima di Natale è stata distribuita alle folle la nuova versione di Capistrano, tool di deploy realizzato da Jamis Buck (membro dei 37signals e mantainer di RubyOnRails). Se sei tra quelli che si chiede cosa c’entra una piccola città calabrese con ruby e rails, continua a leggere!
Capistrano è un tool per lanciare comandi parallelamente su più macchine remote; pensato per semplificare le pratiche di deploy delle vostre applicazioni è flessibile abbastanza da adattarsi praticamente a qualsiasi ambiente di sviluppo/produzione.
La nuova versione 1.3.1 introduce alcune importanti novità rispetto alla già rivoluzionaria versione 1.2 e da un chiaro assaggio della direzione in cui si stanno muovendo Jamis & 37 soci. Vediamo nel dettaglio come cambierà il modo di usarlo:
* Le credenziali d’accesso ai server possono essere specificate contestualmente alla definizione dei servers, ma cosa più importante è stata eliminata la limitazione che imponeva di avere lo stesso username su tutte le machine; ora è anche possibile connettersi su porte non standard:1 2 |
role :web, "webuser@web1.seesaw.it" role :db, "db.seesaw.it:1234" |
- L’invocazione di sudo() può essere fatta specificando l’utente con il quale eseguire il prorogramma, evitando mirabolanti giochi di permessi e gruppi all’amministratore di sistema
sudo "reboot", :as => "evil" |
- Viene aggiornata la data d’accesso alle le directory di immagini, fogli di stile e scripts varii per fare in modo che il sistema di timestampinig di rails funzioni correttamente
- ha fatto la sua comparsa il task update che aggiorna il codice dell’applicazione e la rende la corrente (il tutto in una transazione per evitare disservizi)
- I task di setup e checkout ora verificano che le directory abbiano permessi di scrittura ai gruppi, risparmiandoci la realizzazione di noiosi after-task
- L’integrazione con rake è deprecata in favore di cap (invocare rake è tuttavia transitoriamente possibile se vi siete realizzati dei tasks da voi)
- E’ possibile usare un file di properties .caprc nella directory dell’utente per salvare settaggi in pieno stile unix
E per finire con il botto (avanzato da san silvestro) qui potete trovare un breve screencast di che vi illustra come realizzare una macchina con un full-stack rails, indovinate un po’, solo usando capistrano ;-)
Immagini by scr47chy
About the Author: Michele si occupa da anni di sviluppo software in Ruby e Java; irrimediabilmente malato di network security frequenta tutti gli eventi del settore a tenere curiosi seminari. E’ inoltre fondatore di SeeSaw srl. Se lo vedete online nelle primissime ore del mattino è di sicuro davanti ad un terminale.