La mia situazione: server di sviluppo linux sul quale, a livello di
sistema, ho installato ruby con tutte le gemme necessarie per le mie
applicazioni.
Commit regolari su un server cvs, anch’esso linux.
Poi arriva il momento di deployare il tutto sul server di produzione.
Qui ho installato ruby dai pacchetti precompilati della distribuzione
linux, come d’altronde ho fatto anche sul server di sviluppo, e poi ho
installato la gemma rails, sempre a livello di sistema.
Da quello che ho capito negli ultimi post in questa lista, sul server
di produzione, a parte rails con le sue dipendenze, non e’ necessario
installare tutte le gemme che ho sul server di sviluppo.
Su quest’ultimo server basterebbe fare un rake gem:unpack per avere le
gemme dalle quali dipende l’applicazione sotto la vendor, committare
il tutto e poi deployare.
Magari poi sul server di produzione aggiungere anche un bel rake
freeze:rails.
Sbaglio qualcosa?
Definisci TUTTE le dipendende in enviroment.rb o nei relativi fie per
gli environent
rake gems:install
rake gems:unpack
rake rails:freeze:gems(o :edge)
per il deploy ti consiglio caldamente di usare git e capistrano.
tutto il resto è noia :]
Q
2009/6/8 Andrea (Q) [email protected]:
Definisci TUTTE le dipendende in enviroment.rb o nei relativi fie per
gli environent
rake gems:install
rake gems:unpack
rake rails:freeze:gems(o :edge)per il deploy ti consiglio caldamente di usare git e capistrano.
tutto il resto è noia :]
Perfetto, due cose pero’.
I vari tasks possono anche essere eseguiti con sudo per installare le
gem a livello di sistema o e’ preferibile di no?
Seconda cosa, visto che anche rails e’ una gemma e visto che l’ultimo
task e’ un freeze di tutte le gemme necessarie all’applicazione,
facendo il deploy mi porto appresso tutte le gemme compreso rails
oppure rails va comunque installato sul server di produzione?
l ultimo task fa solo l’ unpack di rails nell’ applicazione e lo fa
dalla gemma locale, se usi “edge” lo fa da remoto prendendo l ultima
versione.
in breve si tende a mettere dentro gemme e rails per migliorare la
portabilità dell’ applicazione, elminando qualsiasi dipendenza(hai
tutto dentro l’applicazione stessa)
2009/6/8 Andrea (Q) [email protected]:
l ultimo task fa solo l’ unpack di rails nell’ applicazione e lo fa
dalla gemma locale, se usi “edge” lo fa da remoto prendendo l ultima
versione.in breve si tende a mettere dentro gemme e rails per migliorare la
portabilità dell’ applicazione, elminando qualsiasi dipendenza(hai
tutto dentro l’applicazione stessa)
Si ho capito ma quindi avendo tutto dentro l’applicazione, rails
compreso, non ho necessita’ di installarmi la gemma rails sul server
di produzione.