4

Я использую «развертывание eb» в своем сценарии непрерывной интеграции. У меня есть две проблемы:AWS 'eb deploy' всегда возвращает код возврата 0

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

  • Он отображает вывод только после завершения команды.

Есть ли способ сделать «eb deploy» работать как любой обычный скрипт и вернуть правильные коды ошибок?

+1

Вы не одиноки https://forums.aws.amazon.com/message.jspa?messageID=713900. Возможно, возьмите это с Amazon, и они сразу помогут вам, поскольку у них, похоже, есть этот человек. Вы также можете анализировать исходный текст и искать сообщение об ошибке/успехе вместо того, чтобы полагаться на код выхода. – dotcomly

ответ

7

Это проблема с сообщением о восходящем потоке here. Вы можете исправить это, используя grep довольно простым способом. Вместо:

eb deploy 

Используйте grep, чтобы получить строку успеха. Это возвращает ненулевое состояние (т.е. отказа), если оно не может быть найдено:

eb deploy | tee /dev/tty | grep "update completed successfully" 

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

+0

Мое решение было несколько схожим, хотя и более сложным и менее надежным: я завернул «eb deploy» в сценарий оболочки, и я ищу «ERROR:» вместо «update completed successfully». Благодаря! – andr111

 Смежные вопросы

  • Нет связанных вопросов^_^