Domanda

Ho un server di produzione e un sever messa in scena in cui le nuove funzionalità vengono testati prima di passare alla produzione. Il server di gestione temporanea è fisicamente diverso da quello di produzione (host diversi con URL diversi), ma imita il più possibile (cioè pacchetti stessi, gemme dello stesso, ecc).

Rails.env = 'production' su entrambi i server.

Il mio problema è che in alcuni casi ho bisogno di un comportamento diverso sulla messa in scena che nella produzione.

Ad esempio, una nuova funzionalità potrebbe inviare massicce email agli utenti sulla produzione; ma mentre sto testando che avrei preferito loro inviati a un account di posta elettronica 'test'.

Qual è il modo migliore per individuare il server sono a?

Mi piacerebbe farlo come "raily" possibile.

Grazie mille.

È stato utile?

Soluzione

In generale, questo è il motivo per cui devi usare diversi ambienti. In pratica, un ambiente di staging è di solito molto vicino alla produzione, ma con le cose come le email vere spento.

Non sono limitati a sviluppo / test / produzione - è possibile eseguire in un ambiente di nome tutto quello che vuoi. Basta creare un / staging.rb file di configurazione / ambienti, impostare i valori che si desidera in là, e inizia la tua app con RAILS_ENV = messa in scena - è tutto quello che c'è da fare. In questo modo è possibile emulare l'ambiente di produzione, ma girarsi caratteristiche o disattivare, se lo desideri, quando non si vuole li attiva in realtà prima di andare in diretta.

Altri suggerimenti

Temo questa risposta non è molto utile.

Il modo railsy è quello di avere ambienti si differenziano solo per la configurazione (host patrimoniale, database, ecc) per ambienti diversi. Quindi un altro database con gli utenti che hanno indirizzi fittizi o e-mail di prova sarebbe modo più semplice per andare su di esso.

Se si sono generalmente clonando Production, vi consiglio di aggiornare le email di tutti gli utenti, sia attraverso script/dbconsole o script/console o solo un semplice compito rake pianura.

E se si desidera limitare / controllare le funzioni, poi mi consiglia di fare che, attraverso il controllo di origine, vale a dire da avere diverse revisioni schierato.

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