5

当我这样做时bundle exec cap production deploy,我收到了错误消息,例如mkdir: cannot create directory /usr/share/nginx/www/appname/releases/20131216155457: Permission denied

Capistrano3 没有set use_sudodefault_run_options。我读到 Passwordless 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

有没有人给我任何关于这个问题的建议?谢谢您的帮助。

4

2 回答 2

5

appname尝试设置文件夹的组和所有者

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

其中 deployer 是您的部署用户,group 是用户组

于 2014-08-28T16:43:01.580 回答
0

它应该是

chown username:groupname -R /path/to/project
于 2015-08-08T11:07:39.397 回答