当我这样做时bundle exec cap production deploy
,我收到了类似的错误消息mkdir: cannot create directory /usr/share/nginx/www/appname/releases/20131216155457: Permission denied
Capistrano3没有set use_sudo
和default_run_options
.我读到无密码sudo更好,所以我做了visudo username ALL=NOPASSWD:ALL
,但我仍然遇到了同样的错误.
set :application, 'appname.com' set :repo_url, 'git@bitbucket.org: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
有没有人就这个问题给我任何建议?谢谢您的帮助.
尝试设置appname
文件夹的组和所有者
chown deployer:www-data -R /usr/share/nginx/www/appname
deployer是您的部署用户,group是用户组