2

我想要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

感谢您的意见。

4

0 回答 0