나의 잡다한 노트 및 메모

Jenkins parallel 구문 본문

DevOps/Jenkins

Jenkins parallel 구문

peanutwalnut 2025. 3. 25. 19:58

Jenkins Pipeline에서 parallel 구문은 여러 작업을 동시에 실행할 수 있도록 도와줍니다. 이를 통해 배포, 테스트 등 시간이 오래 걸리는 작업들을 병렬로 처리하여 전체 파이프라인 실행 시간을 단축할 수 있습니다.


Declarative Pipeline에서의 parallel 구문

Declarative Pipeline에서는 stage 내에 parallel 블록을 정의할 수 있습니다. 각 병렬 작업은 내부에 개별 stage나 steps 블록으로 정의합니다.

 

pipeline {
    agent any
    stages {
        stage('Parallel Tasks') {
            parallel {
                stage('Task A') {
                    steps {
                        // Task A 수행 내용
                        echo 'Running Task A'
                    }
                }
                stage('Task B') {
                    steps {
                        // Task B 수행 내용
                        echo 'Running Task B'
                    }
                }
                // 추가 병렬 작업 정의 가능
            }
        }
    }
}

 

  • 구조:
    위 예제에서 Parallel Tasks라는 하나의 스테이지 내에 여러 개의 서브 스테이지(Task A, Task B 등)가 병렬로 실행됩니다.
  • 동작:
    각 병렬 작업은 독립적인 executor(노드의 리소스가 충분할 경우)에서 동시에 실행됩니다. 단, Jenkins 마스터나 에이전트의 리소스 상황에 따라 실제 병렬 실행이 제한될 수 있습니다.
  • 조건문:
    필요에 따라 각 병렬 작업에 when 블록을 추가하여 조건부 실행할 수도 있습니다.

 

 

사용 시 고려사항

  • 리소스:
    병렬 실행은 여러 executor가 동시에 필요하므로, Jenkins 노드의 리소스(Executor 수)를 고려해야 합니다.
  • 로그 출력:
    병렬 실행 시 각 작업의 로그가 동시에 출력되므로, 로그를 구분하기 위해 작업 이름을 명시적으로 작성하는 것이 좋습니다.
  • 에러 핸들링:
    병렬 작업 중 하나가 실패하면 전체 병렬 블록의 결과가 실패로 처리됩니다. 이를 제어하기 위해 각 분기 내에서 에러 처리를 추가할 수 있습니다.

 

 

 

'DevOps > Jenkins' 카테고리의 다른 글

Jenkins의 Global Trusted Pipeline Library란?  (0) 2025.03.17
Jenkins Workspace 란?  (0) 2025.03.17
젠킨스 Parameter  (0) 2025.03.13
Jenkins의 Organization Folers  (0) 2024.12.16
Declarative pipeline과 Scripted pipeline의 비교  (0) 2024.12.13