Jenkins DSL工作配置奴隶

时间:2017-11-06 23:44:25

标签: jenkins jenkins-pipeline jenkins-job-dsl

我有一个DSL插件文件,可以创建一些像管道,新工作一样的工作。我想知道什么是语法(对于dsl文件而不是jenkinsfile)我可以在特定代理或从属服务器上运行这些作业。代码示例如下。我尝试使用标签('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')
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您可以使用标签在Jenkins中选择构建代理。 label也是JobDSL的属性,它允许您为作业指定标签。引用DSL viewer

job('example') {
  label('x86 && ubuntu')
}