2012-03-29 11 views
9

Cuando ejecuto mi desplegar la tapa, que se queja de que no puede acceder al archivo de registro:Cap despliegue no crea la carpeta compartida/registro

Rails Error: Unable to access log file. Please ensure that /var/superduperapp/releases/20120329011558/log/production.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.

Parece que tengo que crear manualmente una carpeta de registro . ¿Hay alguna manera de hacer esto con Capistrano para que quien lo implemente no tenga que recordar crear la carpeta cada vez que haga una nueva implementación?

Respuesta

20

Estas carpetas deben crearse por capistrano cuando ejecuta cap deploy:setup, ¿lo ha ejecutado? Para verificar si todo está bien, puede ejecutar cap deploy:check antes.

3

Puede crear una tarea personalizada para crear este directorio y lanzarlo como la primera tarea:

task :create_log_share do 
    run "mkdir -p #{shared_path}/log" 
end 
before 'deploy:update', :create_log_share 

Este directorio no tiene que ser creado a cada momento cuando se implementa. Una vez es suficiente. El directorio compartido nunca cambia.

+0

Gracias @shingara, eso funcionó para mí. Ahora solo tengo que descubrir por qué mi servidor Unicorn no muestra nada en la terminal además: 'SIGWINCH ignorado porque no estamos daemonizados '. Hmm ... –

Cuestiones relacionadas