【发布时间】:2014-01-24 11:27:17
【问题描述】:
我刚刚将 Capistrano 从 v2 升级到 v3.1。
我已经重新编写了我的任务,其中包括一个运行 shell 脚本来重新启动 NGINX 的任务。要重新启动 NGINX,我必须以 sudo 运行,这会导致错误:
抱歉,您必须有 TTY 才能运行 sudo
在 Capistrano 2 中,为了解决这个问题,我添加到我的 Capfile 中:
default_run_options[:pty] = true
Capistrano v3 的等价物是什么?
我的deploy.rb 文件如下所示:
# config valid only for Capistrano 3.1
lock '3.1.0'
set :application, 'APP_NAME'
namespace :deploy do
desc 'Restart NGINX'
task :restart do
on roles(:app), in: :sequence, wait: 5 do
execute :sudo, "./restart.sh"
end
end
end
【问题讨论】:
标签: ruby capistrano capistrano3