Подтвердить что ты не робот

Выполнение задачи Maven из оболочки script и получение кодов ошибок

Я выполняю задачу развертывания Maven из bash script, но даже если задача Maven завершилась неудачей, script будет продолжать и завершаться без ошибок.

Я попробовал флаг -e, но это приводит к сбою развертывания. Я также пробовал следующий (псевдокод)

result_code= mvn deploy
if [$result_code -gt 0];then
exit 1

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

4b9b3361

Ответ 1

result_code=mvn deploy - это не способ получить статус возврата

вы можете попробовать, например.

#!/bin/bash
mvn deploy
STATUS=$?
if [ $STATUS -eq 0 ]; then
echo "Deployment Successful"
else
echo "Deployment Failed"
fi

Ответ 2

Кроме того, если кто использует Windows 10, вот пример, который я использую:

mvn deploy
if not %ERROR_CODE%==0 goto error

echo SUCCESS
goto end

:error
echo FAILED

:end

Ответ 3

Еще одна возможная причина, по которой задача mvn человека может возвращать 0, несмотря на неудачу: будьте осторожны, чтобы вывести вывод maven в другие программы. Например, я использую grcat (который grc строит поверх), который всегда будет возвращать код выхода 0;

\mvn compile | grcat ~/conf.mvn

Я не уверен, как сохранить красивое цветовое кодирование вывода. Там есть color_maven.sh, но есть другие проблемы.