2012-03-29 11 views
9

Kiedy uruchamiam moją czapkę wdrożenia, narzeka, że ​​nie może uzyskać dostępu do pliku dziennika:Cap Deploy nie stworzyć współdzielony folder/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.

Wydaje się, że trzeba ręcznie utworzyć folder dziennika . Czy jest jakiś sposób na zrobienie tego z Capistrano, więc ktokolwiek wdraża go, nie musi pamiętać, aby utworzyć folder za każdym razem, gdy wykona nowe wdrożenie?

Odpowiedz

20

Te foldery powinny zostać utworzone przez capistrano po uruchomieniu cap deploy:setup, czy uruchomiłeś go? Aby sprawdzić, czy wszystko jest w porządku, przed uruchomieniem możesz uruchomić cap deploy:check.

3

Można utworzyć własne zadanie, aby utworzyć ten katalog i uruchomić go jako pierwszego zadania:

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

Ten katalog nie muszą być tworzone za każdym razem, kiedy się wdrożyć. Raz wystarczy. Katalog udostępniony nigdy się nie zmienia.

+0

Dzięki @shingara, to zadziałało dla mnie. Teraz muszę po prostu dowiedzieć się, dlaczego mój serwer Unicorn nie pokazuje niczego w terminalu: 'SIGWINCH jest ignorowany, ponieważ nie jesteśmy demonomizowani '. Hmm .. –

Powiązane problemy