У меня есть следующий декларативный конвейер, объявленный внутри функции внутри 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
}
}
...
}
}
}
У меня есть несколько заданий / Jenkinsfiles, которые вызывают этот конвейер совместно используемой библиотеки в следующих вариантах (все сопределенные / жестко закодированные аргументы):
@Library('shared-libs') _
pipeline(arg1: "...", arg2: "...")
Если я хочу параметризованное задание / файл Jenkinsfile, который может вызывать pipeline(...)
с аргументами, предоставленными вызывающей стороной, какой наилучший способ подойти к этому?
Например, я ищу что-то вроде этого:
@Library('shared-libs') _
parameters
{
String(name: "arg1", defaultValue: "")
String(name: "arg2", defaultValue: "")
}
pipeline(arg1: params.arg1, arg2: params.arg2)