我有一个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')
}
}
}
}
}
答案 0 :(得分:1)
您可以使用标签在Jenkins中选择构建代理。 label
也是JobDSL的属性,它允许您为作业指定标签。引用DSL viewer:
job('example') {
label('x86 && ubuntu')
}