Jenkins Pipeline 작성 (2) - 이전 빌드의 실행 성공 여부에 따른 조건 넣기 (스테이지 간 의존관계 설정)

smallcherry's techlog·2025년 2월 12일
0

How?

이전 빌드의 실행 성공 여부에 따라 특정 스테이지 실행되게 할 지 말 지 설정하는 것은 간단하다.
아래와 같이 stage 내부 when.expression 구문에 return currentBuild.resultIsBetterOrEqualTo('SUCCESS)'를 작성하면 된다.

	when {
		expression {
			return currentBuild.resultIsBetterOrEqualTo('SUCCESS') // 이전 빌드기 성공했을 때
		}
    }

currentBuild 란

위에서 사용된 currentBuild는 해당 groovy 파일 내에 별도로 정의된 바가 없다.

currentBuild는 무엇일까?

currentBuild는 Jenkins pipeline에서 지원하는 Global variable references 중 하나로, 직전 빌드에 대한 상태를 가진다.

이 외에도 Jenkins pipeline에서 관리하는 다른 global variable references는 아래와 같은 것들이 있다.

  • env : 환경 변수
    • 사용: env.BUILD_NUMBER, env.GIT_BRANCH
  • params: 빌드 파라미터
    • 사용: params.JOB_NAME

Jenkinsfile 코드에 적용

stage('A Statistics Job') {
	when {
		expression {
			return currentBuild.resultIsBetterOrEqualTo('SUCCESS') // 이 부분!
		}
	}
		steps {
			echo 'Running AStatisticsJob (every midnight)'
			build 'aStatisticsJob'
		}
	}
// 이하 생략

위 코드는 이전 빌드 (이전에 실행한 Job)이 성공한 경우에만 AStaticsticsJob을 실행한다.

To Be Continued...

profile
Java Developer

0개의 댓글