Frage

BEARBEITEN

Welche kleinen Dinge, die zu leicht übersehen werden, muss ich tun, bevor ich eine Rails-Anwendung bereitstelle?

Ich habe eingerichtet eine andere Frage für jede Aufgabe, die länger als ein oder zwei Minuten dauert und daher in einen Bereitstellungsprozess eingeplant werden sollte.Bei dieser Frage beschäftige ich mich hauptsächlich mit Online-Konfigurationsoptionen und Ähnlichem, die durchgeführt werden können, aber während des Entwicklungszyklus oft weggelassen werden, weil sie bis zur Bereitstellung keinen Unterschied machen

War es hilfreich?

Lösung

  • Frieren Sie die Edelsteine ​​ein, die Sie verwenden rake gems:unpack
  • Ändere das Geheimnis config/environment.rb
  • Sensible Informationen wie Passwörter filtern:In app/controllers/application.rb filter_parameter_logging :password, :password_confirmation

Andere Tipps

  • Stellen Sie sicher, dass die Datenbank auf Ihrem Produktionsserver eingerichtet ist
  • Richten Sie capistrano ein, um Ihre App ordnungsgemäß bereitzustellen
    • Führen Sie einen Capistrano-Trockenlauf durch
  • Stellen Sie sicher, dass Rails in Ihrem Vendor/Rails-Ordner gepackt ist
  • Stellen Sie sicher, dass alle Edelsteine ​​in Ihrer App eingefroren oder auf Ihrem Produktserver installiert sind
  • Führen Sie Ihre Tests auf der Produktionsmaschine durch
  • Neu Google Analytics-Code-Schnipsel (oder andere Analytik)
  • Überprüfen Sie die Log für langsame Abfragen , und alle Indizes zu Ihren Modellen hinzufügen, die Voll Tabelle durchläuft verursachen.

  • Auch

    grep -ril FIXME

Stellen Sie die Dateien und Ordner zwischen eingesetzten Kopien der App geteilt werden, einschließlich (aber nicht beschränkt auf) Ansicht Caches, Datenbankkonfiguration, Wartung Seite ...

Diese sind nicht wirklich Rails-spezifische Deployment-Aufgaben, aber ich habe sie für eingesetzte Systeme übersehen zu oft gesehen:

  • Backups; Zwar kann dies eine große Aufgabe am Ende wird, aber es muss nicht sein. Einfach planen nächtliche Backups der Datenbank und Software ist oft ausreichend.
  • Testen der Wiederherstellungsprozedur
  • Log Rotation und Archivierung
  • Ausnahme Meldung
  • Stellen Sie sicher, dass an dem Ort, an dem Sie die Bereitstellung durchführen, die Variable RAILS_ENV ordnungsgemäß festgelegt ist.Entweder über die Umgebung oder über einen Capistrano-Rückruf.
  • Stellen Sie sicher, dass Ihre Tests alle erfolgreich sind, indem Sie Rake Spec, Shoulda, Unit Tests oder was auch immer Sie zum Testen verwenden, ausführen.
  • Entpacken Sie Ihre Edelsteine ​​mit rake gems:unpack
  • Entscheiden Sie, ob Sie Rails einfrieren müssen.Rake-Rails:Freeze:Gems
  • Überprüfen Sie noch einmal, ob Abhängigkeiten auf dem Server installiert sind, wenn Sie mehr als nur Gems benötigen (Memcached, Mailserver usw.).
  • Wenn Sie MySQL verwenden, kompilieren und installieren Sie die C-basierte MySQL-Bibliothek auf dem Server (dies kann länger als ein paar Minuten dauern, geht aber normalerweise recht schnell, wenn alle Abhängigkeiten erfüllt sind).
  • Wenn Sie Git verwenden, übertragen Sie Ihren Code an den Master-Zweig.Markieren Sie es bei Bedarf.
  • Wenn Sie SVN verwenden, markieren Sie die Veröffentlichung.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top