当我执行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有没有人给我一些解决这个问题的建议?谢谢你的帮助。
发布于 2014-08-29 00:43:02
尝试设置appname文件夹的组和所有者
chown deployer:www-data -R /usr/share/nginx/www/appname
其中,部署用户是部署用户,组是用户组
发布于 2015-08-08 19:07:39
它应该是
chown username:groupname -R /path/to/projecthttps://stackoverflow.com/questions/20615484
复制相似问题