할 수 있을 정의 여러 에이전트 레이블을 선언하 Jenkins 파이프라인?

나는'm 를 사용하여 선언 Jenkins 파이프라인]1을 실행하는 일부의 파이프 라인을 구축 할지 궁금했을 경우 그것은 가을 정의하는 여러 상표 에이전트.

나의 번호를 가지고 구축 에이전트에 매여있는 나 젠킨스와 같은 것이 특정한 파이프라인할 수 있을 구축하여 다양한 에이전트가 있는 서로 다른 레이블(하지만 의 모든 대리인).

더 구체적으로,그's 는 말은 2 에이전트와 라벨'small',4 라벨'중'및 6 개의 레이블이'큰'. 지금 내가 있는 파이프라인 리소스 저렴한 더 많은 정보와 자주 묻는 질문에서 실행할 만'small'또는'중'형 에이전트지만,큰 하나의 원인이 될 수 있습니다 큰 구축을 기다리는 큐에 대한 불필요하게 긴 시간이다.

모든 예 I've seen so far 만 사용하는 하나의 상표입니다. 나는 뭔가가 다음과 같다:

 agent { label 'small, medium' }

하지만 그것은 실패했습니다.

나는'm 를 사용하 2.5 버전의 Jenkins 파이프라인 플러그인입니다.

해결책

당신이 볼 수있는'파이프라인 구문'도움말에서 Jenkins 설치와 샘플 step"node"참조.

당신이 사용할 수 있는exprA||exprB:

node('small||medium') {
    // some block
}
해설 (4)

이 구문에 나타나는 작업에 대한 저:

agent { label 'linux && java' }
해설 (4)

편집:내가 오해 질문입니다. 이 대답은 당신이 알고 있는 경우 는 특정 에이전트를 실행할 각 단계입니다.

필요할 경우 여러 에이전트를 선언할 수 있습니다 에이전트 없음`고 다음을 선언하고 에이전트 각 단계에서.

https://jenkins.io/doc/book/pipeline/jenkinsfile/#using-multiple-agents

에서 docs:

pipeline {
    agent none
    stages {
        stage('Build') {
            agent any
            steps {
                checkout scm
                sh 'make'
                stash includes: '**/target/*.jar', name: 'app' 
            }
        }
        stage('Test on Linux') {
            agent { 
                label 'linux'
            }
            steps {
                unstash 'app' 
                sh 'make check'
            }
            post {
                always {
                    junit '**/target/*.xml'
                }
            }
        }
        stage('Test on Windows') {
            agent {
                label 'windows'
            }
            steps {
                unstash 'app'
                bat 'make check' 
            }
            post {
                always {
                    junit '**/target/*.xml'
                }
            }
        }
    }
}
해설 (3)

을 만들의 또 다른 상표 전화'작거나 중간'있는 모든 6 에이전트. 다음에 Jenkinsfile:

agent { label 'small-or-medium' }
해설 (1)