Frage

Ich habe einen Produktionsserver und eine Inszenierung Sever bekam, in dem neue Funktionen getestet werden, bevor sie in Produktion zu bewegen. Der Staging-Server ist physisch unterscheidet mich von der Produktion einer (verschiedene Hosts mit unterschiedlichen URLs), aber es ahmt es so viel wie möglich (das heißt gleiches Paket, gleiche Edelsteine, usw.).

Rails.env = 'production' auf beiden Servern.

Mein Problem ist, dass in einigen Fällen ich ein anderes Verhalten müssen sich auf die Inszenierung als in der Produktion.

Zum Beispiel könnte eine neue Funktion massive E-Mails an Benutzern auf der Produktion senden; aber während ich es bin Tests würde ich lieber habe, sie zu einem ‚Test‘ E-Mail-Konto gesendet.

Was ist der beste Weg, um den Server ich bin zu erkennen?

Ich mag es tun, wie „raily“ wie möglich.

Vielen Dank.

War es hilfreich?

Lösung

Im Allgemeinen ist dies, warum Sie verschiedene Umgebungen verwenden würden. Praktisch gesprochen, eine Staging-Umgebung ist in der Regel sehr nahe an der Produktion, sondern mit Dingen wie echten E-Mails deaktiviert.

Sie sind nicht für die Entwicklung / Test / Produktion beschränkt - Sie können in einer Umgebung ausgeführt werden, was Sie genannt werden sollen. Erstellen Sie einfach eine config / Umgebungen / staging.rb Datei, stellen Sie die Werte, die Sie dort wollen, und starten Sie Ihre App mit RAILS_ENV = inszenieren - das ist alles dort ist zu ihm. Auf diese Weise können Sie Ihre Produktionsumgebung emulieren, aber twiddle Funktionen ein- oder ausschalten, wie gewünscht, wenn Sie sie nicht aktiv, bevor Sie tatsächlich online gehen.

Andere Tipps

Ich fürchte, diese Antwort nicht sehr hilfreich ist.

Die railsy Weg Umgebungen haben unterscheiden sich nur in der Konfiguration (Asset-Host, Datenbank etc.) für verschiedene Umgebungen. So eine andere Datenbank mit Benutzern Dummy oder Test E-Mail-Adressen, die wäre am einfachsten Weg, um darüber zu gehen.

Wenn Sie in der Regel aus der Produktion klonen, empfehle ich E-Mails von allen Benutzern zu aktualisieren, entweder durch script/dbconsole oder script/console oder nur eine einfache einfache rake Aufgabe.

Und wenn Sie begrenzen wollen / die Funktionen steuern, dann würde ich empfehlen, tun, dass durch die Quellcodeverwaltung, das heißt durch haben verschiedene Revisionen eingesetzt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top