是的,您可以在一个管道中运行所有三个作业。这是我们使用的一个简短的管道示例,因此用户可以选择应该运行哪个子作业(默认所有复选框都已选中):
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。如果所有三个作业都可以独立运行,建议您并行运行作业以节省时间。