7
我剛將Capistrano從v2升級到v3.1。Capistrano 3 - 錯誤:對不起,您必須有一個tty才能運行sudo
我重寫了我的任務,其中包括一個運行重新啓動NGINX的shell腳本的任務。要重新啓動NGINX我必須爲sudo
這將導致錯誤運行:
Sorry, you must have a TTY to run 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
我讀的地方([這裏](https://semaphoreapp.com/blog/2013/11/26/capistrano-3-upgrade-guide.html))在默認情況下,v3中':pty'是'true',但我在官方網站上找不到任何文檔...就像什麼都沒有。好工作找出一個;) – frhd
乾杯 - 認爲它可能對某人有用:-) – ajtrichards
@ajtrichards_wales但是,當你提示時,你如何提供密碼? – Mohamad