rails ocean digitalocean deploy app ruby-on-rails deployment config

ruby-on-rails - ocean - heroku



¿Qué cosas pequeñas necesito hacer antes de implementar una aplicación de rieles? (8)

Configure los archivos y las carpetas que se compartirán entre las copias implementadas de la aplicación, incluidas (pero no limitadas a) caché de vista, configuración de la base de datos, página de mantenimiento ...

EDITAR

¿Qué cosas pequeñas que son demasiado fáciles de pasar por alto tengo que hacer antes de implementar una aplicación de rieles?

He configurado otra pregunta para cualquier tarea que requiera más de un minuto o dos, por lo que debe programarse en un proceso de implementación. En esta pregunta, me preocupan principalmente las opciones de configuración en línea y similares, eso se puede hacer, pero a menudo se omiten durante el ciclo de desarrollo porque no hacen ninguna diferencia hasta la implementación.


En realidad, estas no son tareas de implementación específicas de los raíles, pero las he visto pasar por alto demasiadas veces para los sistemas implementados:

  • Copias de seguridad; sin dudas, esto puede terminar siendo una gran tarea, pero no es necesario. Simplemente programar copias de seguridad nocturnas de la base de datos y el software a menudo es suficiente.
  • Probando el procedimiento de restauración
  • Rotación de registros y archivo
  • Notificación de excepción

  • Asegúrese de que el lugar donde está desplegando tenga la variable RAILS_ENV configurada correctamente. Ya sea a través del entorno, o mediante una devolución de llamada capistrano.
  • Asegúrese de que todas las pruebas estén pasando ejecutando las especificaciones de rake, shoulda, unit, o lo que sea que esté utilizando para probar.
  • Desempaque sus gemas usando gemas de rastrillo: desempaquetar
  • Decida si necesita congelar Rails. rake rails: congelar: gemas
  • Verifique que las dependencias estén instaladas en el servidor si necesita algo más que gemas (memcached, servidor de correo, etc.)
  • Si está utilizando MySQL, compile e instale la biblioteca MySQL basada en C en el servidor (esto podría llevar más de unos minutos, pero normalmente es bastante rápido si se satisfacen todas las dependencias).
  • Si está usando git, inserte su código en la rama principal. Etiquetarlo si es necesario.
  • Si está utilizando SVN, etiquete el lanzamiento.

  • Asegúrese de que la base de datos esté configurada en su servidor de producción
  • Configura capistrano para implementar tu aplicación correctamente
    • Ejecutar un capistrano en seco
  • Asegúrese de que Rails esté empaquetado en su carpeta vendors / rails
  • Asegúrate de que todas las gemas estén congeladas en tu aplicación o instaladas en tu servidor de prod.
  • Ejecute sus pruebas en la máquina de producción

  • Incluye fragmento de Google Analytics (u otros análisis)

  • Compruebe el registro lento de consultas y agregue los índices a sus modelos que están causando cruces de tabla completa.

  • también

    grep -ril FIXME


  • Congele las gemas que está usando rake gems:unpack
  • Cambia el secreto en config/environment.rb
  • Filtrar información delicada como contraseñas: en la app/controllers/application.rb filter_parameter_logging :password, :password_confirmation