다음과 같습니다 내 트래비스 YML 파일의 스크립트 부분 :트래비스 스크립트 종료 코드는 결코 실패하지 않는다하더라도 그것을해야
script:
- ./run_tests.sh
스크립트 자체가 소스 랩에 대한 몇 가지 테스트를 실행합니다. 테스트 실패로 인해 스크립트가 실패하면 코드는 여전히 0으로 종료되고 빌드는 계속 전달됩니다. 테스트가 실패하면 스크립트가 실패 코드로 종료하지 않는 이유는 무엇입니까?
내가, 내가 일을 즉시 스크립트 명령 후 .travis.yml 파일의 종료 코드를 얻을 출력 할 때 내가, 내가 0을 내 스크립트 파일의 끝에서 종료 코드를 얻을 출력 :
echo $?
0
The command "./run_tests.sh" exited with 0.
$ echo $?
1
당신이를 '-e' bash 옵션을 사용하여 runnig 스크립트를 시도 했습니까? 스크립트 내의 명령이! = 0을 반환하면 즉시 종료되어야합니다. https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html – odradek
여전히 동일한 종료 코드를 반환합니다. ; run_tests.sh 테스트가 if 문에서 실행된다는 사실에 영향을 받을지 궁금합니다. – danielle
예, 실제로 if (if; then etc ...) 내에서 조건으로 실행되는 종료 코드 1을 반환하는 문은 false로 평가되고'-e' 옵션은 그것에 따라 행동하십시오. 나는 당신이'else' 절을 어떻게 다룰 지 모르지만 거기에'exit 1 '을 추가하고 어떤 일이 일어날지를 볼 수 있습니다. –
odradek