Jenkins DSL作业配置从机

Jenkins DSL作业配置从机,jenkins,jenkins-pipeline,jenkins-job-dsl,Jenkins,Jenkins Pipeline,Jenkins Job Dsl,我有一个DSL插件文件,它创建了两个作业,比如管道作业、新作业。我想知道我可以在特定的代理或从机上运行这些作业的语法是什么(仅针对dsl文件而不是jenkinsfile)。下面给出了代码示例。我试图使用label('JenkinsEC2Slave'),但它实际上是在从机上运行我的DSL作业,而不是DSL创建的作业。标签来自ec2插件,应该按需发布 pipelineJob('Build_Docker_Images') { label('JenkinsEC2Slave') configure

我有一个DSL插件文件,它创建了两个作业,比如管道作业、新作业。我想知道我可以在特定的代理或从机上运行这些作业的语法是什么(仅针对dsl文件而不是jenkinsfile)。下面给出了代码示例。我试图使用label('JenkinsEC2Slave'),但它实际上是在从机上运行我的DSL作业,而不是DSL创建的作业。标签来自ec2插件,应该按需发布

pipelineJob('Build_Docker_Images') {
 label('JenkinsEC2Slave')   
configure {
     it / definition / lightweight(true)
}
triggers {
    scm('@midnight')
}
concurrentBuild(false)
parameters {
    stringParam('ECR_REPO', 'xxxxxxxxxxx.dkr.ecr.eu-west-2.amazonaws.com')

}
definition {
     cpsScm {
        scm {
            scriptPath ('ci-cd/pipelines/base_docker_images/Jenkinsfile')
            git {
                branches('*/master')
                remote {
                    url ('git@github.com:xxxxxxxxxx.git')
                    credentials ('jenkins-key')
                }
            }
        }
    }
}

可以使用标签在Jenkins中选择生成代理<代码>标签也是JobDSL的属性,它允许您为作业指定标签。引述:


可以使用标签在Jenkins中选择生成代理<代码>标签也是JobDSL的属性,它允许您为作业指定标签。引述:


我已经用代码样本更新了我的问题更新了语法,我是否需要在scm之后放置标签表达式,或者这对于Freestyle Job来说很好,而不是对于pipeline Job您将不会在Job DSL中定义代理,而是使用pipeline的
节点('label')
步骤。它应该可以工作,由于语法是正确的,并且在DSL文档中给出,需要确认为什么它在DSL中不起作用,一些如何不起作用,我已经用代码样本更新了我的问题更新了语法,我需要在scm之后放置标签表达式还是什么这对于Freestyle Job来说很好,而不是对于pipeline Job那么你就不会在Job DSL中定义代理了,但是使用管道的
节点('label')
步骤应该可以,因为语法是正确的,并且在DSL文档中给出,所以需要确认为什么它在DSL中不起作用
job('example') {
  label('x86 && ubuntu')
}