Подтвердить что ты не робот

Тайм-аут развертывания Capistrano

Хорошо, поэтому я посмотрел в Интернете, и на самом деле это не похоже на то, что у многих других есть эта проблема, но, возможно, что-то еще не так с тем, что мы делаем.

Я настроил на то, чтобы довести его до того, что, по моему мнению, является полезным тестовым примером:

конфиг/deploy.rb:

## Excerpt
task :big_delay, :roles => :web do
  run "sleep 480"
  run "echo Meow Meow Meow"
end 

И stupid_script.sh:

#!/bin/sh
ssh foo 'sleep 480; echo Meow Meow Meow'

Где foo - имя того же сервера, на который мы развертываем.

Когда я запускаю оба из них, он должен подключиться к другому ящику, ничего не делать в течение 8 минут, а затем выплюнуть какой-то бесполезный текст и завершить.

Работает stupid_script, и задача колпака выходит из строя. Я вижу, что удаленная команда заканчивается ps ps, но cap больше не замечает. Если сон равен 20, а не 240, задача колпачка работает нормально.

Очевидно, что эта задача бесполезна, но у нас есть дорогостоящие задачи, которые запускают это, и я сделал это, чтобы исключить любую вину в ssh.

Еще одна точка данных, если мы входим в поле и помещаем туда код, а затем запускаем кеп-развертывание оттуда, тогда он отлично работает.

Итак... похоже, что между ssh и capistrano происходит какое-то странное взаимодействие. Мысли?

4b9b3361

Ответ 1

Установите ClientAliveInterval и ClientAliveCountMax в /etc/ssh/sshd_config на сервере, как подсказывает выбор. У меня была точно такая же проблема с "assets: precompile" в моем развертывании, пока я не сделал это изменение.