我已经在Jenkins中配置了多个作业。例如:假设我在詹金斯中配置了A,B和C作业。现在,我必须每次手动运行这三个作业。我想运行一个作业,同时运行这三个作业(A,B,C)。有没有办法在管道作业中实现这一目标?请指教
答案 0 :(得分:2)
是的,您可以在一个管道中运行所有三个作业。在这里,我们使用一个简短的管道示例,以便用户选择应该运行哪个子作业(默认选中所有复选框):
node {
properties([
buildDiscarder(
logRotator(
artifactDaysToKeepStr: '',
artifactNumToKeepStr: '10',
daysToKeepStr: '',
numToKeepStr: '10')
),
parameters([
booleanParam(defaultValue: true,
description: 'Select true to include run of Job A',
name: 'JOBA'),
booleanParam(defaultValue: true,
description: 'Select true to include run of Job B.',
name: 'JOBB'),
booleanParam(defaultValue: true,
description: 'Select true to include run of Job C',
name: 'JOBC')
])
])
try {
if (params.JOBA == true) {
stage('Run job A') {
build job: 'PATHTOJOBA', propagate: true, wait: true
}
}
if (params.JOBB == true) {
stage('Run job B') {
build job: 'PATHTOJOBB', propagate: true, wait: true
}
}
if (params.JOBC == true) {
stage('Run job C') {
build job: 'PATHTOJOBC', propagate: true, wait: true
}
}
--------
PATHTOJOB
是您要运行的作业的全名。使用<yourJenkinsHost>/pipeline-syntax/
生成脚本,然后使用Sample step
> build: Build a job
来确定您的作业路径是否正确+如果配置了该脚本,它将生成可以传递给该作业的参数。>
了解更多documentation here。如果所有三个作业都可以独立运行,则建议并行运行您的作业以节省时间。