Jenkins 如何以声明性语法从共享库中的方法返回值?
我使用的是管道声明性语法,需要从共享库中的方法返回一个值Jenkins 如何以声明性语法从共享库中的方法返回值?,jenkins,jenkins-pipeline,jenkins-declarative-pipeline,jenkins-shared-libraries,Jenkins,Jenkins Pipeline,Jenkins Declarative Pipeline,Jenkins Shared Libraries,我使用的是管道声明性语法,需要从共享库中的方法返回一个值 pipeline{ String label= new Define.getLabel() agent (label ${label}) // stages, options ... } 这应该行得通。我没有使用共享库进行测试,但它的工作原理是相同的(当然,您必须使用@library('library-name')导入共享库,并且您的脚本应该存储在那里。(我的脚本在管道中)
pipeline{
String label= new Define.getLabel()
agent (label ${label})
// stages, options ...
}
这应该行得通。我没有使用共享库进行测试,但它的工作原理是相同的(当然,您必须使用
@library('library-name')导入共享库,并且您的脚本应该存储在那里。(我的脚本在管道中)
我的脚本非常简单。GetLabel
将只返回“docker”
,但您可以使用条件状态使其更加复杂
我调用该方法并将输出保存在labelID
中。因此labelID
包含“docker”
。当我指定要使用的标签时,我读取labelID
的内容
def labelID = getLabel()
pipeline {
agent { node { label labelID } }
stages {
stage('Stage 1') {
steps {
sh 'echo "hallo"'
}
}
}
}
def getLabel(){
return 'docker'
}
此管道已在标签为“docker”的从属设备上运行。这应该可以工作。我没有使用共享库进行测试,但它的工作原理相同(当然,您必须使用@library('library-name')导入共享库,并且您的脚本应该存储在那里。(我的脚本在管道中)
我的脚本非常简单。GetLabel
将只返回“docker”
,但您可以使用条件状态使其更加复杂
我调用该方法并将输出保存在labelID
中。因此labelID
包含“docker”
。当我指定要使用的标签时,我读取labelID
的内容
def labelID = getLabel()
pipeline {
agent { node { label labelID } }
stages {
stage('Stage 1') {
steps {
sh 'echo "hallo"'
}
}
}
}
def getLabel(){
return 'docker'
}
此管道已在标签为“docker”的从属设备上运行。
这将有助于提供一个。这将有助于提供一个。