[Jenkins] Pipeline으로 Job 여러개 한번에 실행하기

만약

  • Jenkins Job들을 한 묶음으로 묶어 한번에 실행하고 싶다면
  • 하지만 명시적으로 나눠진 Job들을 하나의 Job으로 합치고 싶지는 않아서 고민된다면

Pipeline을 사용하자

순서

  1. Jenkins에서 새로운 아이템 만들기를 선택한다.
  2. 아이템 종류 중에서, pipeline을 선택한다.
  3. 하단의 Pipeline에 수행할 내역을 적어준다.

예시

나의 경우는 BACK_BUILD, TEST_ENVIRONMENT, BACK_DEPOLY라는 3가지의 Jenkins Job을 한번에 빌드하는 Pipeline을 만들고 싶었다.

stages

stages 내부에는 여러 개의 stage를 포함할 수 있다.

parallel

BACK_BUILD와 BACK_DEPOLY는 선후 순서가 지켜져야 하지만, TEST_ENVIRONMENT같은 경우에는 순서에 구애받지 않는 job이기 때문에, parallel 문법을 통해 BACK_BUILD와 함께 병렬 실행해주었다.

pipeline {
    agent any

    stages {
        stage('Build and Prepare For Test') {
            parallel {
                stage('Build') {
                    steps {
                        build 'BACK_BUILD'
                    }
                }
                stage('Prepare For Test') {
                    steps {
                        build 'TEST_ENVIRONMENT'
                    }
                }
            }
        }
        
        stage('Deploy') {  
            steps {
                build 'BACK_DEPOLY'
            }
        }
    }
}

jenkins pipeline 문법을 알고 싶다면 클릭
Jenkins page Example

pipeline {
    agent none 
    stages {
        stage('Example Build') {
            agent { docker 'maven:3.8.1-adoptopenjdk-11' } 
            steps {
                echo 'Hello, Maven'
                sh 'mvn --version'
            }
        }
        stage('Example Test') {
            agent { docker 'openjdk:8-jre' } 
            steps {
                echo 'Hello, JDK'
                sh 'java -version'
            }
        }
    }
}

결과

Pipeline을 구성하고 Build를 하면 아래와 같이 stage가 실행되는 것을 확인할 수 있다.

좋은 웹페이지 즐겨찾기