如何根据表达式选择节点标签?

nom7f22z  于 2022-10-06  发布在  Jenkins
关注(0)|答案(1)|浏览(156)

我有这个示例管道

pipeline {
    parameters {
        string(name: 'PLATFORM', description: 'target platform to build to')
    }
    agent {
        node {
            /* I want to choose 'windows-machine' 
               when PLATFORM matches "windows.*" */
            label 'linux-machine'
        }
    }
}

我希望面向Windows平台的作业在不同的节点上运行。如何根据管线参数是否与表达式匹配来选择节点标签?

mv1qrgav

mv1qrgav1#

您可以使用代理选择器label来代替节点。下面是一个如何做到这一点的例子。

pipeline {
    parameters {
        string(name: 'PLATFORM', description: 'target platform to build to')
    }
    agent {label PLATFORM=='WINDOWS' ? 'windows': 'linux'}
    stages {
        stage('Test') {
            steps {
                script {
                    echo "test"
            }
        }
    }
}
}

相关问题