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