maven 또는 gradle 빌드 결과에 따라 shell script 실행을 결정하는 방법

2017-07-14 12:40

maven 또는 gradle을 shell script에서 실행하는 경우 빌드가 실패하면 shell script를 종료하고 싶다. 이에 대한 해결책은 예상외로 간단한다.

mvn test
if [ "$?" -ne 0 ]; then
    echo "Maven Clean Unsuccessful!"
    exit 1
fi

위와 같이 "$?"의 값을 활용하는 방법이다. $?는 shell script에서 가장 최근에 실행한 명령어의 실행 결과를 담고 있는 변수이다. 만약 빌드가 성공하면 0, 빌드가 실패하면 1의 값을 반환한다. 빌드 도구의 경우도 빌드가 성공하면 0, 빌드가 실패하면 1을 반환하기 때문에 이 결과 값을 사용하면 빌드가 실패하는 경우 쉽게 shell script를 빠져나올 수 있다.

위 구현을 다음과 같이 한 문장으로 구현할 수 있다.

mvn test || { echo "Maven Clean Unsuccessful"; exit 1; }

shell script도 알면 알수록 재미있는 세상이다.

이에 대한 해결책은 다음 두 글에서 찾았다. * mvn in bash script if statement * how to detect a build error from ant/maven via a bash script?

0개의 의견 from SLiPP

의견 추가하기

연관태그

← 목록으로