2011-07-17 12 views
5

Ho cercato varie opzioni per integrare un blog nella mia app Rails ospitata su Heroku. Nesta sembra promettente, ma dal momento che gestisce i post del blog direttamente in Git , avrei un paio di minuti di inattività ogni volta che ho pubblicato un post (a causa della compilation slug di Heroku). Sembra che mi sia sbagliato su questo punto.Integrazione di un blog/CMS in un'app di Heroku Rails

Esistono opzioni che soddisfano tutti i seguenti requisiti?

  1. È compatibile con il file system di sola lettura di Heroku.
  2. Può essere integrato in un'app Rails 3 esistente.
  3. Dispone di un'interfaccia Web, pertanto non eseguo la ricompilazione ogni volta che pubblico un post.

risposta

4

Io uso Jekyll, Rack e Heroku per alimentare il mio blog. Ha funzionato abbastanza bene per me.

http://nerian.es/2011/07/13/new-website.html

Potete dare un'occhiata al codice qui:

https://github.com/Nerian/nerian.github.com

devo dire che non v'è alcun tempi di inattività quando si aggiorna una lumaca in Heroku. L'app non viene riavviata fino al completamento dell'intero processo. E poi sono solo pochi secondi prima di essere pronto.

Puoi provarlo. Aggiungi una nuova versione al tuo slug heroku e apri molte schede del browser sul tuo blog. Noterai che il tempo di inattività è quasi pari a 0.

Un'altra opzione è quella di utilizzare un progetto orientato al servizio per questo problema. Invece di integrare un motore di blog nella tua app attuale, crea un'app per blog isolata. In modo che la tua architettura assomigli a questa:

  • www.yourapp.com -> Fornito dalla tua app Rails corrente.
  • blog.yourapp.com -> Servito da Jekyll o Sinatra in un diverso schieramento di Heroku.

In questo modo, quando aggiorni il tuo blog, l'intero sito può continuare a funzionare. Non perderai un solo secondo dell'attività dei servizi vitali.

Edit:

Invece di sottodomini, se si vuole utilizzare un endpoint all'interno del vostro dominio corrente è possibile abbinare/blog per un'applicazione cremagliera che serve il tuo blog.

http://edgeguides.rubyonrails.org/routing.html#routing-to-rack-applications

+0

Grazie, Nerian. È bello sapere che non ci sono tempi di inattività fino a quando lo slug appena compilato è pronto per andare. Questo mi rende molto più comodo utilizzando un blog gestito da Git come Jekyll o Nesta. –

+0

BTW, l'aggiunta di un sottodominio blog è una buona idea, ma sto cercando di mantenere tutto sul dominio dell'app principale per scopi SEO. –

+0

@Joshua: controlla la modifica :) – Nerian

2

Prova Raffineria CMS, che viene eseguito come un motore all'interno della vostra applicazione Rails:

http://refinerycms.com/

+0

Non ho avuto il miglior divertimento con raffineria nel corso degli anni personalmente. –

+0

Grazie per il puntatore. Lo guarderò. –

Problemi correlati