Domanda

Lavoro su Ubuntu sviluppando un'app Rails per la mia chiesa. Usiamo un VPS ospitato anche su Ubuntu. Uso Capistrano per distribuire aggiornamenti periodici. Inevitabilmente, tuttavia, un'app che funziona sulla mia casella locale, ha sempre una manciata di problemi dopo la distribuzione sull'host, molto probabilmente perché gli ambienti differiscono.

Quali sono alcune pratiche / tecniche per facilitare la distribuzione in modo che ciò che è testato e funziona localmente abbia le stesse probabilità di funzionare sull'host. (Ho già adottato l'approccio "venditore tutto").

Il mio primo pensiero è quello di sviluppare / lavorare all'interno di un'immagine VPS locale che alla fine verrà distribuita (una sorta di appliance virtuale). Qualcuno lo sta facendo?

Cosa fanno gli altri per ridurre al minimo i problemi derivanti dalle differenze ambientali? Quali host offrono le migliori opzioni di distribuzione?

È stato utile?

Soluzione

Per quanto possibile, assicurati di avere la stessa identica versione di Ruby, la stessa identica versione di Rails, la stessa identica configurazione del database e lo stesso identico tutto il resto. Maggiore è la differenza tra la tua configurazione live e la tua configurazione di sviluppo, maggiori sono i problemi che potresti incontrare.

Altri suggerimenti

Prova a creare un ambiente di palcoscenico che imiti il ??più possibile la tua produzione. In effetti, utilizzo alcuni dei miei server in questo modo, creando un sottodominio (staged.mydomain.com) per testare le gemme sulla versione giusta e simili.

Uso anche un utente SOLO LETTURA per testare con dati reali e reali su questa installazione dello stage.

Questo approccio ci aiuta a essere sicuri che la nuova distribuzione funzionerà perfettamente, risolvendo in anticipo i problemi.

Sarebbe bello sapere che tipo di problemi affronti frequentemente per cercare di trovare un modo per ridurne l'aspetto.

Beh, in realtà hai risposto alla tua domanda.

Se non è possibile eseguire la distribuzione in un ambiente di gestione temporanea nella casella di produzione, è necessario provare a eseguire il mirroring esattamente sul computer. È quindi possibile testarlo tramite programmi come VMWare ecc.

Nella mia esperienza questo è necessario solo in situazioni davvero critiche. Se il tuo Ruby / Rails (versioni gemme che puoi specificare nel tuo ambiente) sono gli stessi, non dovresti avere problemi a distribuire un'app Rails.

Sarebbe davvero bello sapere che tipo di problemi stai riscontrando, quindi speriamo di fornirti una soluzione più adeguata.

Tieni presente che la maggior parte degli sviluppatori di Rails esegue OS X e si distribuisce su un server UNIX e non abbiamo mai avuto alcun tipo di problema a causa di ciò.

Le versioni di raby, rotaie, mysql, ecc. dovrebbero essere le stesse ovviamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top