Как запустить миграцию в AWS Code Deploy без создания взаимоблокировок? - PullRequest
0 голосов
/ 31 мая 2019

Кодовая база моего приложения написана на Django, а конвейер развертывания - на AWS. Использование конвейера кода AWS с: службами Code Deploy и Code Build.

Проблема заключается в том, что при выполнении миграций базы данных возникают взаимоблокировки из-за других сервисов / контейнеров EC2 / ECS2, которые все еще работают во время миграции.

Как я могу остановить все контейнеры ECS и предотвратить их запуск до завершения миграции?

Решением было бы создать еще один шаг в конвейере кода перед этапом миграции и использовать aws-cli, чтобы установить число задач для каждой службы ECS на 0, и каким-то образом подождать, пока все они будут остановлены. После этого запустите миграцию и верните обратно сервисы ECS.

Есть ли лучшее, более простое решение, чем использование aws-cli и создание пользовательских сценариев?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...