2017-05-16 1 views
0

나는 중첩 된 try-catch 블록을 사용하여 젠킨스 파이프 라인을 정의하고 있습니다. 실행 시간에 부모 try-catch 블록에 다른 try-catch 블록이 있고 자식 try-catch 블록에서 문제가 발생하면 하위 catch 블록으로 이동 한 다음 부모에서 코드를 계속 실행합니다 try-catch 블록.중첩 된 try-catch 블록을 사용할 때 어떻게 젠킨스 파이프 라인에서 실행을 종료 할 수 있습니까?

나는 및 오류을 "오류가 발생했습니다"하지만 여전히, 그것은 실행 진행됩니다 currentBuild.result = '실패'설정을 시도했습니다. 나는 파이프 라인 상태를 실패로 만들고 나머지 코드의 실행을 종료하려고한다.

try{ 
    stage('stage1'){ 
     //do something 
    } 

    try{ 
     stage('stage2'){ 
      //do something 
     } 

    }catch(Exception err1){ 
     error "Error Occurred" 
     currentBuild.result='Failure' 
    } 



}catch(Exception ex){ 
    // Do something if stage 1 fails 
} 

스테이지 2가 실패하면 스테이지 1의 catch 문으로 이동하면 안됩니다. 누군가가 나를이 좋은 방법을 제안하시기 바랍니다 수 있습니까?

답변

1

This 또한 질문에 답변해야합니다.

currentBuild.result = 'Failure' 설정 후 한 번의 반품으로 해결됩니다. 반환이 무대 외부에 있거나 다른 무대에서 나올 것이라는 점에 유의하십시오.

관련 문제