서술적 파이프라인 문법

이재철·2021년 10월 30일
0

Jenkins

목록 보기
7/9

기본 구조

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를 파라미터로 사용하면 모든 스테이지 노드와 스텝, 디렉티브는 임의의 젠킨스 슬레이브 중 하나에서 수행된다.

0개의 댓글