2012-03-29 9 views
9

Quando eseguo il mio cappello Deploy, si lamenta che non può accedere al file di registro:Cap Deploy non crea cartella di condivisione/log

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.

Sembra che devo creare manualmente una cartella di registro . C'è un modo per farlo con Capistrano quindi chi lo distribuisce non deve ricordare di creare la cartella ogni volta che esegue una nuova distribuzione?

risposta

20

Queste cartelle devono essere create da capistrano quando si esegue cap deploy:setup, è stato eseguito? Per verificare se tutto è a posto, è possibile eseguire cap deploy:check prima di esso.

3

È possibile creare un'attività personalizzata per creare questa directory e lanciarlo come primo compito:

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

Questa directory non ha bisogno di essere creati ogni momento in cui si distribuisce. Una volta è abbastanza La directory condivisa non cambia mai.

+0

Grazie a @shingara, ha funzionato per me. Ora devo solo capire perché il mio server Unicorn non mostra nulla nel terminale, inoltre: 'SIGWINCH ignorato perché non siamo demonizzati '. Hmm .. –