Я развертываю приложение Rails 3 на Passenger 3.0.7 с использованием развертывания на основе capistrano и git, аналогично настройке GitHub: https://github.com/blog/470-deployment-script-spring-cleaning - это означает, что приложение работает полностью из одного каталога, без/ release / 123456 и переключение символических ссылок.
Если мы добавили какие-либо драгоценные камни, наше приложение начнет выдавать 500 ошибок во время развертывания, на этапе «комплектация: установка», но перед развертыванием: перезапустить ,Код был обновлен, и кажется, что пассажир уже начинает использовать его, и требуемые драгоценные камни еще не могут быть найдены.
Это не вызвано тем, что новые рабочие были ускорены, поскольку я попытался установитьПассажир idle_time равен 0, а max_instances и min_instances равны одному значению, так что рабочие никогда не останавливаются.
Работает в Linux с ruby-ee 1.8.7-2011.03.Пример ошибки от Пассажира: https://gist.github.com/54794e85d2c799e4f697
Я также подумал о том, чтобы выполнить развертывание на основе git с двумя каталогами как хак - подмену нового кода после завершения комплектации.Идеи приветствуются.