파이프라인의 Jenkins 중첩 및 병렬 스테이지

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 4분
  • 스크립팅된 Jenkins 파이프라인에서 중첩 및 병렬 스테이지를 사용하여 파이프라인 실행 속도를 높입니다. 변경 요청은 상위 스테이지뿐만 아니라 중첩 및 병렬 스테이지에 대해 생성됩니다.

    파이프라인의 Jenkins 중첩 및 병렬 스테이지 지원

    스크립팅된 Jenkins 파이프라인에서 중첩 및 병렬 스테이지를 사용하여 병렬로 실행할 수 있는 작업을 자동화하고 속도를 높일 수 있습니다. 예를 들어, 다양한 운영 체제 및 브라우저에 대한 서로 다른 품질 검사와 같은 다양한 테스트 케이스에 대한 중첩 및 병렬 스테이지가 있는 스크립팅된 Jenkins 파이프라인이 있습니다.

    ServiceNow DevOps 는 파이프라인의 Jenkins 병렬 및 중첩 스테이지 처리를 지원하고 파이프라인 UI에 파이프라인을 DevOps 표시합니다. 실제로 파이프라인 UI는 ServiceNow DevOps 파이프라인 UI를 Jenkins 실시간으로 렌더링하거나 복제합니다. 관련 파이프라인의 파이프라인 실행 뷰에서 파이프라인 UI 관련 링크를 클릭하여 에 표시되는 파이프라인의 실시간 상태를 확인합니다.Jenkins 빌드 파이프라인, 테스트 결과, 소프트웨어 품질 요약 결과 및 변경 요청 상세 정보에서 소싱된 관련 아티팩트 상세 정보가 파이프라인 UI에 표시됩니다.
    중요사항:
    병렬 및 중첩 스테이지에 대한 지원은 의 스크립팅된 파이프라인으로 제한됩니다.Jenkins 자유형 파이프라인은 병렬 및 중첩 스테이지가 에서 자유형 파이프라인Jenkins의 일부인 경우에도 파이프라인 UI에서 DevOps 순차적 또는 직렬 방식으로 계속 표시됩니다.
    그림 1. 중첩 또는 병렬 스테이지가 있는 Jenkins 파이프라인
    중첩 또는 병렬 스테이지가 있는 Jenkins 파이프라인
    중첩 또는 병렬 스테이지가 있는 샘플 파이프라인
    pipeline {
        agent any
    
        stages {
            stage('Build') {
                steps { 
                    echo 'Building...'
                    // Your build steps here
                }
            }
    
            stage('Test') {
                parallel {
                    stage('Unit Tests') {
                        steps {
                            echo 'Running unit tests...'
                            // Your unit test steps here
                        }
                    }
                    stage('Integration Tests') {
                        steps {
                            echo 'Running integration tests...'
                            // Your integration test steps here
                        }
                    }
                    stage('Additional Tests') {
                        steps {
                            script {
                                parallel(
                                    'Nested Stage 1': {
                                        echo 'Running nested parallel stage 1...'
                                        // Your nested parallel stage 1 steps here
                                    },
                                    'Nested Stage 2': {
                                        echo 'Running nested parallel stage 2...'
                                        // Your nested parallel stage 2 steps here
                                    }
                                )
                            }
                        }
                    }
                }
            }
    
            stage('Deploy') {
                steps {
                    echo 'Deploying...'
                    snDevOpsChange changeRequestDetails: '{ "attributes": {"chg_model": "e55d0bfec343101035ae3f52c1d3ae49","standard_change_template"="563504cc47410200e90d87e8dee490e2"},"autoCloseChange": false}',changeStepTimeOut: 18000, pollingInterval: 60
                    // Your deploy steps here
                }
            }
        }
    }
    

    중첩 및 병렬 스테이지의 변경 요청

    모든 업스트림 이벤트(변경 요청 이전)가 수신되면 모든 중첩 및 병렬 스테이지에 대한 변경 요청이 생성됩니다. 이전 릴리스에서는 파이프라인의 Jenkins 중첩 또는 병렬 스테이지가 식별되거나 처리 ServiceNow DevOps되지 않았습니다. 상위 스테이지만 선형 또는 순차적 방식으로 식별 및 처리되었습니다. 변경 요청이 중첩 및 병렬 스테이지의 일부로 존재하는 경우 이러한 변경 요청은 무시되고 단일 변경 요청이 상위 스테이지의 일부로 처리되었습니다. 업그레이드 후 새 파이프라인을 실행하면 중첩된 스테이지에 대한 새 단계와 단계 실행이 생성됩니다.

    중첩 및 병렬 스테이지는 이전에 처리되지 않았으며 승인 그룹은 상위 스테이지에만 매핑되었습니다. 처리 중에 중첩 및 병렬 스테이지가 식별되기 때문에 관련 승인 그룹이 적절한 중첩 또는 병렬 스테이지에 매핑되었는지 확인해야 합니다. 파이프라인의 후속 단계가 변경 요청의 승인에 따라 달라지는 경우 파이프라인 실행이 일 시 중지되고 변경 요청이 승인되면 다시 시작됩니다.

    업그레이드 고려 사항

    중첩 및 병렬 파이프라인을 오케스트레이션 도구로 이미 사용하고 Jenkins 있는 경우 업그레이드하는 동안 다음 사항을 고려하십시오.
    • 사용량이 적은 시간에 업그레이드합니다.
    • 에서 현재 진행 중인 ServiceNow DevOps파이프라인 실행이 없는지 확인합니다. 파이프라인 실행이 처리 중인 경우 진행 중인 파이프라인 실행에 대해 예상대로 단계 실행이 생성되지 않을 수 있습니다. 파이프라인을 다시 실행하여 적절한 단계 실행을 생성합니다.