나의 잡다한 노트 및 메모
Jenkins parallel 구문 본문
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 |