Ответ 1
result_code=mvn deploy
- это не способ получить статус возврата
вы можете попробовать, например.
#!/bin/bash
mvn deploy
STATUS=$?
if [ $STATUS -eq 0 ]; then
echo "Deployment Successful"
else
echo "Deployment Failed"
fi
Я выполняю задачу развертывания Maven из bash script, но даже если задача Maven завершилась неудачей, script будет продолжать и завершаться без ошибок.
Я попробовал флаг -e, но это приводит к сбою развертывания. Я также пробовал следующий (псевдокод)
result_code= mvn deploy
if [$result_code -gt 0];then
exit 1
Любые предложения, как я могу определить, было ли развертывание успешным?
result_code=mvn deploy
- это не способ получить статус возврата
вы можете попробовать, например.
#!/bin/bash
mvn deploy
STATUS=$?
if [ $STATUS -eq 0 ]; then
echo "Deployment Successful"
else
echo "Deployment Failed"
fi
Кроме того, если кто использует Windows 10, вот пример, который я использую:
mvn deploy
if not %ERROR_CODE%==0 goto error
echo SUCCESS
goto end
:error
echo FAILED
:end
Еще одна возможная причина, по которой задача mvn человека может возвращать 0, несмотря на неудачу: будьте осторожны, чтобы вывести вывод maven в другие программы. Например, я использую grcat
(который grc
строит поверх), который всегда будет возвращать код выхода 0;
\mvn compile | grcat ~/conf.mvn
Я не уверен, как сохранить красивое цветовое кодирование вывода. Там есть color_maven.sh, но есть другие проблемы.