Почему тайм-аут ApplicationStart с кодом AWS развертывается? - PullRequest
0 голосов
/ 22 апреля 2019

Я использую codedeploy для развертывания приложения springboot на ec2.Но я получаю ошибку тайм-аута скрипта.Событие I устанавливает тайм-аут на 60 секунд, если приложение всегда запускается в течение 20 секунд.Приложение запускается нормально.Я запускаю top на экземпляре linux и вижу, что процесс java запущен.Затем я могу использовать почтальон, чтобы попасть в конечную точку проверки статуса http и убедиться, что она успешно запущена.Но вот как это выглядит в консоли развертывания кода:

enter image description here

Файл appspec.yml выглядит следующим образом

enter image description here

Файл server_start.sh выглядит следующим образом.enter image description here

Почему это происходит?Благодарю.

1 Ответ

0 голосов
/ 27 апреля 2019

Вы должны поместить некоторые коды вашего скрипта в BeforeInstall или AfterInstall .

remove java -jar application.jar

BeforeInstall - это событие жизненного цикла развертывания можно использовать для задач предустановки, таких как расшифровка файлов и создание резервной копии текущей версии.,Установка - во время этого события жизненного цикла развертывания агент CodeDeploy копирует файлы редакции из временного расположения в конечную папку назначения.Это событие зарезервировано для агента CodeDeploy и не может использоваться для запуска сценариев. AfterInstall. Это событие жизненного цикла развертывания можно использовать для таких задач, как настройка приложения или изменение прав доступа к файлу. ApplicationStart. Обычно это событие жизненного цикла развертывания используется для перезапуска служб, остановленных во время ApplicationStop.

Затем создайте еще один сценарий bash для вашего ApplicationStart.Поместите строку, которую вы удалили ранее, в этот скрипт.

...