Я знаю, что наилучшая практика для подталкивания изменений к производству заключается в том, чтобы иметь наборы серверов A и B, чтобы A обслуживал веб-сайт для клиента, чтобы нажать обновление на B а затем переключите A < -> B, чтобы обеспечить непрерывность обслуживания. Но это чувство, похоже, трудно смириться с Capistrano (?)Капистрановые интервалы между перезапусками серверов для обеспечения непрерывности обслуживания
В настоящее время у меня есть пул автомасштабированных серверов на облаке Амазонки. Используя capistrano, моя команда развертывания развернет обновление на всех серверах и одновременно перезапустит их. В период, когда пассажир перезагружается, на моем производственном сервере есть время простоя (и перезапуск может занять до 10 секунд, так что это проблема).
Чтобы избежать этого, я хотел бы перезагрузить сервер по одному и подождать x секунд, прежде чем перезапустить следующий сервер (я не против, если у меня есть 2 разных версии кода в Интернете, целевой сценарий, который я имею в виду, развертывает небольшое исправление)
Есть ли способ переопределить задачу перезапуска Capistrano, чтобы подождать некоторое время перед запуском команды на следующем сервере?
Я думаю, что вы можете в значительной степени повторного использования этого: http://stackoverflow.com/questions/8810339/capistrano-sequential-restarts – Ivan