2017-09-04 6 views
0

파이프 라인이 노드 시리즈의 명령을 실행할 때 어떻게 파이프 라인 내에서 실패를 트리거 할 수 있습니까?Bitbucket 파이프 라인에서 실행되는 스크립트를 어떻게 실패합니까?

나는 다음과 같은 시도 :

const failBuild = function(message) { 
    console.error('Deploy failed: ', message) 
    throw new Error('Deploy failed') 
} 

내가 "배포 실패"라는 메시지를 볼 수 있지만 파이프 라인은 여전히 ​​"성공"을 말한다.

+0

어떻게/어디에서 노드 스크립트를 호출합니까? – BlueM

+0

배치 스크립트는 노드 – Chris

+0

Hm 만 실행했습니다. 명령이 0이 아닌 종료 코드로 종료 될 때 Bb 파이프 라인이 실패하고 무언가가 스크립트를 호출하고 종료 코드를 무시한 것으로 의심되었을 것이기 때문에 나는 물었다. 코드가 없으면 그 것이 문제인지 알기는 어렵지만 종료 코드를 검사하고 특히 위 스크립트의 종료 코드가 스크립트를 호출하는 코드에서 어떻게 처리되는지 제안 할 것입니다. – BlueM

답변

1

Bb 명령이 0이 아닌 종료 코드와 함께 종료되면 파이프 라인이 실패합니다. 따라서 파이프 라인이 실패하기를 원한다면 코드가 0이 아닌지 확인해야합니다. throw (이 경우 나중에 읽는 사람들이 주석을 참고하십시오)에 종료 상태로 0이 표시됩니다. 는 약속에서 실행되지만 약속을 끝내지도 않고 종료 코드에도 아무런 영향을 미치지 않는 약속의 catch() 함수를 포착합니다.

해결 방법 : throw 명시 적으로 catch() 함수에서 오류가 발생했습니다.