Quando voglio usare i sottomoduli di Ruby On Rails?
-
06-07-2019 - |
Domanda
Mi piace l'idea di usare i sottomoduli, ma sono preoccupato di lasciare il mio codice nelle mani di qualcun altro. Il problema principale è che ogni volta che eseguo la distribuzione con capistrano, una nuova copia del sottomodulo viene estratta da quando utilizzo:
set :git_enable_submodules, 1
Quindi cosa succede se qualcuno commette un codice non funzionante? Quindi ho interruzioni dell'app durante la distribuzione.
I sottomoduli sono generalmente una cattiva idea se non si controlla il repository?
In tal caso, è pratica comune conservare solo una copia di ogni plugin nel proprio repository locale e sotto il proprio SCM?
Grazie!
Soluzione
Sì , dovresti conservare copie locali di tutto ciò che può essere aggiornato senza preavviso (come sottomoduli git o svn esterni). Non correre rischi quando si parla di distribuzione in produzione!
Alcuni sostengono addirittura che dovresti congelare Rails e tutte le tue gemme di puro rubino per anche la directory vendor
, in modo che vengano aggiornati solo quando si desidera. Si evita di dover installare tutte le dipendenze su ogni server su cui si esegue la distribuzione. Ciò è leggermente meno rilevante ora che Rails semplifica l'installazione di tutte le gemme richieste con una semplice attività di rake, sebbene ( rake gems: install
).