我想要cap production deploy:check
,但我收到了错误消息mkdir: cannot create directory /var/www: Permission denied
。我正在使用 Capistrano3 和 Rails4。
我认为 sudo 在我的情况下不起作用。
部署.rb
set :application, 'appname.com'
set :repo_url, 'git@bitbucket.org:user/myapp.git'
set :user, 'username'
set :use_sudo, true
set :branch, 'master'
set :deploy_to, '/var/www/myapp'
set :pty, true
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
生产.rb
set :stage, :production
set :branch, 'master'
role :all, %w{appname.com}
server 'appname.com', user: 'username', port: 'port_number', roles: %w{web app db}, my_property: :my_value
我读了这些文章。
Capistrano 在向 Ubuntu 框提示输入 SUDO 密码时挂起
使用 use_sudo=true 的 capistrano 部署 - 权限问题
所以我添加default_run_options[:pty] = true
到 deploy.rb,但我得到了undefined local variable or method default_run_options for main:Object
感谢您的意见。