У меня есть пакетный скрипт для развертывания моего приложения Angular 7. Этот пакет запускает команду npm.
Некоторое время эта команда не выполняется (потому что есть некоторые ошибки в сборке Angular).
Как я могу остановить мой сценарий развертывания, когда команда npm терпит неудачу?
echo Building the site...
REM I want to know when this command fails:
call npm run build:BUILD_COMMAND
Мой build:BUILD_COMMAND
определен в моем package.json
:
"scripts": {
...
"build:BUILD_COMMAND": "ng build -c MY_BUILD_CONFIG",
...
},
echo %ERRORLEVEL%
всегда возвращает 0
, даже если сборка не удалась (я отредактировал свой проект, чтобы убедиться, что сборка завершается неудачей каждый раз, чтобы я мог проверить).
Я пытался перенаправить STDOUT
в файл журнала, чтобы я мог использовать команду find
, чтобы проверить, содержит ли журнал error
пустоту, но он не соответствует моим потребностям, потому что я должен сохранить STDOUT
на консоли:
call npm run build:BUILD_COMMAND > build.log 2>&1
for /f %%a in ('type build.log ^| find /c /i "error"') do set err=%%a
if "%err%" GTR "0" echo ERROR was encountered during build