2013-12-16 14 views
5

Als ich bundle exec cap production deploy tat, bekam ich Fehlermeldungen wie mkdir: cannot create directory /usr/share/nginx/www/appname/releases/20131216155457: Permission deniedWenn Capistrano3 tut mkdir, verweigert die Erlaubnis

Capistrano3 nicht set use_sudo und default_run_options hat. Ich habe gelesen, dass Passwordless Sudo ist besser, so habe ich visudo username ALL=NOPASSWD:ALL, aber immer noch habe ich die gleichen Fehler.

set :application, 'appname.com' 
set :repo_url, '[email protected]:user/myapp.git' 
set :user, 'username' 
set :branch, 'master' 


set :deploy_to, '/usr/share/nginx/www/appname' 
set :keep_releases, 5 

namespace :deploy do 

desc 'Restart application' 
task :restart do 
    on roles(:app), in: :sequence, wait: 5 do 
    end 
end 

after :restart, :clear_cache do 
    on roles(:web), in: :groups, limit: 3, wait: 10 do 
    end 
end 

after :finishing, 'deploy:cleanup' 

end 

Gibt mir jemand einen Rat für dieses Problem? Vielen Dank für Ihre Hilfe.

+0

Did run 'cap production deploy: setup' zuerst? Sind alle übergeordneten Verzeichnisse vorhanden? – iltempo

+0

Capistrano3 scheint nicht "cap production deploy: setup" zu haben. Aber ich habe 'cap production deploy: check' und ich habe alle übergeordneten Verzeichnisse überprüft. –

+0

@YukiIshikawa Und sind alle Berechtigungen korrekt? Als 'username' kannst du dieses Verzeichnis selbst erstellen, wenn du es sshdst? –

Antwort

5

Versuchen Sie, die Gruppe und Besitzer des appname Ordner Einstellung

chown deployer:www-data -R /usr/share/nginx/www/appname

wo deployer Ihre deploy Benutzer- und Gruppen ist, ist die Benutzergruppe

0

Es

sollten Sie
chown username:groupname -R /path/to/project 
Verwandte Themen