Jenkins 7 - 서술적 파이프라인 문법
기본 구조
1. 노드 블록
- 스테이지 블록, 디렉티브, 스텝이 실행될 젠킨스 에이전트를 정의한다. 
node('<parameter>') {<constituents>}2. 스테이지 블록
- 스테이지 블록은 같은 목적을 가진 스텝과 디렉티브의 모음이다. 
stage('<parameter>') {<constituents>}3. 디렉티브
- 디렉티브의 가장 큰 목적은 환경 변수, 옵션, 파라미터, 트리거, 툴을 제공해 노드 블록과 스테이지 블록, 스텝을 지원하는 것이다. 
4. 스텝
- 스텝은 서술적 파이프라인을 구성하는 가장 중요한 요소 
- 젠킨스에서 무엇을 할지 명령을 내리는 것 
node('master') {
    // Directive 1
    def mvnHome
    
    // Stage block 1
    stage('Preparation') { 
        // Step 1
        git 'https://github.com/jglick/simple-maven-project-with-tests.git'
        // Directive 2
        mvnHome = tool 'M3'
    }
    
    // Staage block 2
    stage('Build') {
        // Step 2
        withEnv(["MVN_HOME=$mvnHome"]) {
            if (isUnix()) {
                sh '"$MVN_HOME/bin/mvn" -Dmaven.test.failure.ignore clean package'
            } else {
                bat(/"%MVN_HOME%\bin\mvn" -Dmaven.test.failure.ignore clean package/)
            }
        }
    }
    
    // Stage block 3
    stage('Results') {
        // Step 3
        junit '**/target/surefire-reports/TEST-*.xml'
        // Step 4
        archiveArtifacts 'target/*.jar'
    }
}- any를 파라미터로 사용하면 모든 스테이지 노드와 스텝, 디렉티브는 임의의 젠킨스 슬레이브 중 하나에서 수행된다. 
Last updated