# Quindi in definitiva per il deployment in ambiente di produzione

**URL:** <https://www.ruby-forum.com/t/quindi-in-definitiva-per-il-deployment-in-ambiente-di-produzione/169781>\
**Category:** IT\
**Created:** [June 8, 2009, 4:22pm UTC](https://www.ruby-forum.com/t/quindi-in-definitiva-per-il-deployment-in-ambiente-di-produzione/169781 "2009-06-08T16:22:33Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [June 8, 2009, 4:22pm UTC](https://www.ruby-forum.com/t/quindi-in-definitiva-per-il-deployment-in-ambiente-di-produzione/169781/1 "2009-06-08T16:22:33Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [June 8, 2009, 5:43pm UTC](https://www.ruby-forum.com/t/quindi-in-definitiva-per-il-deployment-in-ambiente-di-produzione/169781/2 "2009-06-08T17:43:50Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [June 8, 2009, 5:46pm UTC](https://www.ruby-forum.com/t/quindi-in-definitiva-per-il-deployment-in-ambiente-di-produzione/169781/3 "2009-06-08T17:46:49Z")

</div>

2009/6/8 Andrea (Q) [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> 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?

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [June 8, 2009, 6:19pm UTC](https://www.ruby-forum.com/t/quindi-in-definitiva-per-il-deployment-in-ambiente-di-produzione/169781/4 "2009-06-08T18:19:28Z")

</div>

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)

---

<div class="post-metadata">

**Author:** ![msan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/3ab097/32.png) [@msan](https://www.ruby-forum.com/u/msan)\
**Post date:** [June 8, 2009, 8:37pm UTC](https://www.ruby-forum.com/t/quindi-in-definitiva-per-il-deployment-in-ambiente-di-produzione/169781/5 "2009-06-08T20:37:42Z")

</div>

2009/6/8 Andrea (Q) [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> 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.
