Миграция БД при развертывании в облачном хранилище с балансировкой нагрузки - PullRequest
0 голосов
/ 13 февраля 2019

Я развертываю приложение на литейном облаке.Я также запускаю миграцию базы данных перед развертыванием.Для этого моя команда запуска выглядела так:

./run_migration && ./run_app

Это хорошо работало на 1 экземпляре, но теперь у меня есть 2 экземпляра, поэтому команда запуска была изменена на:

[ $CF_INSTANCE_INDEX != 0 ] || ./run_migration && ./run_app

Таким образом, миграция выполняется только для экземпляра № 0. И это тоже работает.Однако, как только миграция не удалась.

2019-02-12T13:56:45.27+0100 [APP/PROC/WEB/0]OUT Exit status 1
2019-02-12T13:56:45.28+0100 [CELL/SSHD/0]OUT Exit status 0
OK

requested state: started
instances: 2/2

     state      since                    cpu     memory        disk
#0   starting   2019-02-12 01:56:36 PM   0.0%    0 of 1G       0 of 1G
#1   running    2019-02-12 01:56:39 PM   15.8%   93.3M of 1G   249.4M of 1G

Итак, насколько я понимаю, пакет считается исправным, хотя запускать может только один экземпляр.

Есть ли способ выйти из строя?пуш, когда не все экземпляры удалось запустить

1 Ответ

0 голосов
/ 13 февраля 2019

Есть ли способ сбить толчок, когда не все экземпляры удалось запустить

Я не знаю, как это сделать, но вы всегда можете проверить и проверитьпосле завершения cf push.

Запустите cf app <app> | grep 'instances:', и вы увидите количество запущенных и общее количество запросов.Если они не совпадают, значит что-то не так.

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

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

...