2017-03-10 3 views
1

새로운 선언적 파이프 라인 구문을 사용하려고합니다.선언적 파이프 라인을 중단하는 방법

예를 들어 매개 변수의 값이 잘못되었을 때 어떻게 파이프 라인의 모든 단계와 단계를 중단 할 수 있을지 궁금합니다.

모든 단계에 when 절을 추가 할 수는 있지만 이는 나에게 적합하지 않습니다. 그렇게 할 수있는 더 좋은 방법이 있습니까?

답변

4

error 단계를 사용하는 경우 when 지시문을 사용하면 문제가 없습니다.

예를 들어, 당신은 선행 점검을하고, 지정된 매개 변수 값이 허용되지 않는 경우 빌드를 중단 할 수 - 실행에서 다음 단계를 방지 :

pipeline { 
    agent any 
    parameters { 
    string(name: 'targetEnv', 
      defaultValue: 'dev', 
      description: 'Must be "dev", "qa", or "staging"') 
    } 
    stages { 
    stage('Validate parameters') { 
     when { 
     expression { 
      // Only run this stage if the targetEnv is invalid 
      !['dev', 'qa', 'staging'].contains(params.targetEnv) 
     } 
     } 
     steps { 
     // Abort the build, skipping subsequent stages 
     error("Invalid target environment: ${params.targetEnv}") 
     } 
    } 
    stage('Checkout') { 
     steps { 
     echo 'Checking out source code...' 
     } 
    } 
    stage('Build') { 
     steps { 
     echo 'Building...' 
     } 
    } 
    } 
} 
+0

감사합니다. 나는 '오류'단계에 대해 몰랐다 –

+0

고마워,하지만 다음 단계로 진행하는 것을 멈추고 '성공' – Deepaklal

관련 문제