У меня есть пользовательское задание Capistrano.Мне нужно запустить его до bundler install
, чтобы обеспечить правильную установку mini_racer
.Он определяется следующим образом:
# this will update gcc to a 4.8+, a version usable by mini_racer
task :enable_devtools_2 do
on roles(:web) do
execute :scl, :enable, "devtoolset-2", :bash
execute :gcc, "-v"
end
end
before "bundler:install", "enable_devtools_2"
Однако, когда я запускаю команду deploy
, она зависает при переходе к этому шагу:
00:22 enable_devtools_2
01 scl enable devtoolset-2 bash
Как мне отладитьэтот?Конечно, это работает, когда я вручную запускаю ssh в поле и запускаю команду.
РЕДАКТИРОВАТЬ: Когда я иду в документы Capistrano, Почему что-то работает вмой сеанс SSH, но не в Capistrano? , у него есть несколько пользовательских запросов, которые я могу выполнить:
task :query_interactive do
on roles(:web) do
info capture("[[ $- == *i* ]] && echo 'Interactive' || echo 'Not interactive'")
end
end
task :query_login do
on roles(:web) do
info capture("shopt -q login_shell && echo 'Login shell' || echo 'Not login shell'")
end
end
Я определил их, запустил и получил следующие выходные данные.Конечно, я пока не знаю, что с ними делать:
% cap staging query_interactive
00:00 query_interactive
Not interactive
% cap staging query_login
00:00 query_login
Not login shell