当我做bundle exec cap production deploy
,我得到错误信息像mkdir: cannot create directory /usr/share/nginx/www/appname/releases/20131216155457: Permission denied
当Capistrano3做的mkdir,权限被拒绝
Capistrano3没有set use_sudo
和default_run_options
。我读了无密码sudo更好,所以我做了visudo username ALL=NOPASSWD:ALL
,但我仍然有同样的错误。
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
有没有人给我任何建议围绕这个问题? 谢谢你的帮助。
你有没有首先运行'cap production deploy:setup'?所有的父目录都存在吗? – iltempo
Capistrano3似乎没有'cap production deploy:setup'。但我没有'cap production deploy:check',并且检查了所有父目录的存在。 –
@YukiIshikawa并且所有的权限是否正确?作为“用户名”,你可以自己创建该目录,一旦ssh进入? –