我正在使用管道脚本在参数匹配时并行构建作业,但是对于每个参数,它并行构建多达10到15个作业,因此代码的长度接近450行。是减少代码的任何方式还是配置和构建作业的任何其他方式?
#!/usr/bin/env groovy
pipeline {
agent any
parameters {
choice(
choices: 'Job1\nJob2'\nJob3,
description: '',
name: 'Project'
)
}
stages {
stage ('callJob1') {
when {
expression { params.Project == 'Job1' }
}
steps{
build job: 'test1'
build job: 'test2'
.
.
.
.
.
}
}
stage('callJob2'){
when{
expression { params.Project == 'Job2'}
}
steps{
build job: 'test3'
build job: 'test4'
.
.
.
.
.
}
}
stage('callJob3'){
when{
expression { params.Project == 'Job3'}
}
steps{
build job: 'test5'
build job: 'test6'
.
.
.
.
.
}
}
}
}
答案 0 :(得分:1)
尝试逐步提取通用部分,并在jenkinsfile中定义方法。也可以在同一项目的jenkinsfile B中调用jenkinsfile A中定义的方法。
例如:
def func() {
}
.
.
stages {
stage('Job1'){
steps {
script {
func()
}
}
}
stage('Job2'){
steps {
script {
func()
}
}
}
}