我在vars/pipeline.groovy
内部的函数中声明了以下声明性管道:
def call(Map pipelineParams)
{
pipeline {
agent any
environment { }
stages {
stage('stageA') {
steps {
... Do something with arg1, arg2 or arg3
}
}
stage('stageB') {
steps {
... Do something with arg1, arg2 or arg3
}
}
...
}
}
}
我有几个job / Jenkinsfiles,它们以以下变化(全部带有预定义/硬编码参数)调用此共享库管道:
@Library('shared-libs') _
pipeline(arg1: "...", arg2: "...")
如果我想要一个参数化的job / Jenkinsfile,它可以使用调用者提供的参数来调用pipeline(...)
,那么最好的方法是什么?
例如,我正在寻找这样的东西:
@Library('shared-libs') _
parameters
{
String(name: "arg1", defaultValue: "")
String(name: "arg2", defaultValue: "")
}
pipeline(arg1: params.arg1, arg2: params.arg2)