У нас есть несколько приложений, работающих на Beanstalk и нескольких средах, поэтому у меня достаточно опыта в настройке и запуске этих приложений в Beanstalk и NodeJS.
Но есть одна проблема, которую я никогда не мог понять или найти решение:
Если по какой-то причине запуск npm (или любой другой файл, настроенный как команда запуска) завершается неудачно и код выхода отличается от 0, вместо прерывания развертывания и установки его как неудачного, он просто продолжает пытаться, в вечности петля. Со временем это потребляет весь процессор, и были ситуации, когда Beanstalk полностью терял контроль над всем, и единственным вариантом была перестройка среды.
Итак, мне удалось обойти это, используя метод Immutable deploy. С этой опцией развертывание БУДЕТ потерпеть неудачу, потому что экземпляры Health никогда не будут зелеными, и все будет происходить откат. Но я не очень доволен этим, потому что 1) это не решает проблему, а только покрывает ее и 2) постоянные развертывания требуют вечного завершения / отката.
Есть идеи?