Domanda

MODIFICA

Ciò che le piccole cose che sono troppo facile trascurare devo fare prima di distribuire una applicazione rails?

Ho impostato un'altra domanda per qualsiasi compito che richiede più di un minuto o due, e così dovrebbe essere pianificata in un processo di distribuzione.In questa domanda, non sono interessato soprattutto con on-line opzioni di configurazione e simili, che può essere fatto, ma sono spesso lasciati fuori durante il ciclo di sviluppo, perché non fa alcuna differenza, fino alla distribuzione

È stato utile?

Soluzione

  • Congelare le gemme si utilizza rake gems:unpack
  • Modificare il segreto config/environment.rb
  • Filtro di informazioni sensibili, come password:in app/controllers/application.rb filter_parameter_logging :password, :password_confirmation

Altri suggerimenti

  • Garantire il DB è il programma di installazione sul server di produzione
  • Impostare capistrano per distribuire l'applicazione correttamente
    • Eseguire una capistrano dry-run
  • Garantire Rails è confezionato in vostro fornitore/guide cartella
  • Garantire tutte le gemme sono congelati nel vostro app o installato sul vostro server prod
  • Eseguire i test sulla macchina di produzione
  • Google analytics snippet (o altri analytics)
  • Controllare il slow query log, e aggiungere gli indici per i tuoi modelli, che stanno causando tabella completa attraversa.

  • Anche

    grep -ril FIXME

Impostare i file e le cartelle da condividere tra distribuite copie di app, tra cui (ma non limitati a) vista cache, il database di configurazione, manutenzione pagina...

Questi non sono realmente Guide specifiche per la distribuzione di compiti, ma li ho visti trascurato troppe volte per i sistemi distribuiti:

  • I backup;certamente, questo puo essere un grande compito, ma non deve essere.Semplicemente la pianificazione di notte i backup dei database e di software è spesso sufficiente.
  • Prova la procedura di ripristino
  • La rotazione dei Log e di archiviazione
  • Notifica di eccezione
  • Assicurarsi che il luogo di distribuzione ha la RAILS_ENV variabile impostata correttamente.Attraverso l'ambiente, o per il tramite di un capistrano richiamata.
  • Assicurarsi che i test sono tutti di passaggio in esecuzione rake spec, shoulda, unit test, o qualunque cosa si sta utilizzando per il test.
  • La confezione gemme con rake gemme:disimballaggio
  • Decidere se avete bisogno di congelare i Binari.rake rails:freeze:gemme
  • Doppio controllare che le dipendenze sono installati sul server, se hai bisogno di più di gemme (memcached, server di posta, ecc)
  • Se si utilizza MySQL, compilare e installare il C-base MySQL biblioteca sul server (questo potrebbe richiedere più di un paio di minuti, ma di solito è abbastanza veloce se tutte le dipendenze sono soddisfatte).
  • Se si utilizza git, spingere il codice per il branch master.Il Tag, se necessario.
  • Se si utilizza SVN, tag il rilascio.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top