2 버전에서 두 가지 방식의 파이프라인을 각각의 문법과 구조로 지원 하고 있는데 일반적 작업을 구 프리스타일 프로젝트의 빌드 후처리 설정으로, 이메일 발송을 한다면 특별 웹 페이지 인터페이스로 설정했다. 스크립트 방식의 파이프라인 문법에서는 빌드 후처리를 위한 지원이 기본적으로 존재하지 않지만 DSL 스텝과 그루비 코딩을 이용하여 구현할 수 있다.
node {
try {
//필요 작업 수행
} catch(e) {
CurrentBuild.result = "FAILED"
throw e
} finally {
mail to: "[email protected]",
subject:"STATUS FOR PROJECT: ${currentBuild.fullDisplayName}",
body: "RESULT: ${currentBuild.result}"
}
}
젠킨스 관리자의 메일이 이미 전역 환경 설정에서 정의됐다면 DSL의 mail 문장을 이용해 메일을 발송할 수 있다. 스크립트 방식의 파이프라인에 빌드 후 작업으로 항상 메일을 보내는 내재된 명령이나 기능이 없기 때문에 그루비의 try-catch-finally 문법을 사용하게 됐다.
이는 젠킨스의 기능 중 빌드 후처리 부분이 호환되지 않은 예시다. DSL 명령어는 이러한 상황에서 내장 명령어를 제공하지 않을 수 있다. 이러한 경우 젠킨스가 하는 일을 흉내내는 그루비 명령어를 사용할 수 밖에 없을 수 있다.
서술적 파이프라인 구조를 선택했다면 대부분의 경우 젠킨스 기능에 대응하는 내장 명령어가 존재하는데 예를 들어, 서술적 파이프라인 문법에서 기존의 빌드 후처리와 알림은 빌드 후처리 단계를 수행하는 post 영역에서 수행할 수 있다.
pipline {
agent any
stages {
stage ("dowork") {
stpes {
//필요한 작업 수행
}
}
}
post {
always {
mail to: "[email protected]",
subject:"STATUS FOR PROJECT: ${currentBuild.fullDisplayName}",
body: "RESULT: ${currentBuild.result}"
}
}
}