Pregunta

En deploy.rb, Creo que :rails_env normalmente es establecido por require 'capistrano/rails' encontrado en tu Capfile.Estoy usando rieles, pero no uso la canalización de activos incorporada y, por lo tanto, no uso capistrano/rails y estaba en la situación de tener que configurar manualmente :rails_env en deploy.rb al cambiar entre implementaciones de puesta en escena y producción.Esto parecía bastante tonto ya que el entorno siempre se incluye al ejecutar cap staging deploy o cap production deploy.Estoy publicando esta pregunta porque parece que podría ser un problema bastante común con una solución trivial, pero después de mucho buscar en Google, encontré con las manos vacías.Por lo tanto, profundicé en Capistrano 3.1.0 código fuente para descubrir cómo acceder a la variable de etapa ingresada en la línea de comando y continuará con una breve respuesta que explica un poco.

¿Fue útil?

Solución

La respuesta simple es agregar la siguiente línea cerca de la parte superior de deploy.rb:

establecer :rails_env, buscar(:etapa)

La variable :stage se instala capistrano/setup que se requiere en su Capfile.Este script crea tareas de rake para cada etapa definida en config/deploy.Dentro de la definición de la tarea de rake encontrarás lo siguiente: set(:stage, stage.to_sym) cuál es la variable stage/rails_env de tu cap staging deploy o cap production deploy dominio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top