Извиняюсь за такой запоздалый ответ, Даан. Ваше понимание Capistrano верно. Также обратите внимание, что флаг :use_sudo
по умолчанию равен true
.
В Capistrano 2.11.2 вы найдете lib / capistrano / configuration / variables.rb:
_cset(:run_method) { fetch(:use_sudo, true) ? :sudo : :run }
и lib / capistrano / recipes / deploy.rb:
def try_sudo(*args)
options = args.last.is_a?(Hash) ? args.pop : {}
command = args.shift
raise ArgumentError, "too many arguments" if args.any?
as = options.fetch(:as, fetch(:admin_runner, nil))
via = fetch(:run_method, :sudo)
if command
invoke_command(command, :via => via, :as => as)
elsif via == :sudo
sudo(:as => as)
else
""
end
end
Возможно, ваша проблема с правами доступа связана с тем, что ваш сервер, работающий как обычный пользователь, не может прочитать содержимое каталога выпуска, на который указывает ваша символическая ссылка current
?