Назад | Перейти на главную страницу

Перевод приложения OpsWorks в режим обслуживания

Во время выполнения моих рецептов развертывания OpsWorks есть период времени, когда приложение должно быть недоступно для публики. Есть ли рекомендуемый способ добиться этого?

Это сайт Magento, и я создал два рецепта. Один для создания maintenance.flag и еще один, чтобы удалить его снова. Это указывает Magento обслуживать удерживающую страницу с кодом ответа HTTP 503.

С этим две проблемы:

Есть ли способ запустить мой рецепт режима обслуживания до того, как код будет извлечен из git или сразу после этого? Или какой-то способ использовать undeploy рецепт блюда? Или что-нибудь получше?

У Opsworks есть возможность вручную выполнить рецепт через развертывание: http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-manual.html

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

Хотя это ручная операция, если у вас есть среда непрерывной интеграции / развертывания, стоит отметить, что вы можете сделать то же самое с помощью AWS CLI: http://docs.aws.amazon.com/cli/latest/reference/opsworks/create-deployment.html

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

Надеюсь это поможет!

РЕДАКТИРОВАТЬ

Вы также можете использовать средства развертывания Chef для выполнения настройки и удаления в режиме обслуживания. Видеть: http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-extend-hooks.html

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