我想从管道中调用下一个共享库:
[链接] https://github.com/docker/jenkins-pipeline-scripts/blob/master/vars/wrappedNode.groovy
我不知道如何从Jenkins 2管道中调用并填充vars映射和主体闭包。
我的共享库名称为“ vars / my_shared_library.groovy”,其内容为
def call(Map vars, Closure body=null) {
vars = vars ?: [:]
def myParameter = vars.get("myParam1",null)
if (body) { body() }
stuff...
}
Jenkinsfile的内容是:
@Library 'my_shared_library'
pipeline {
agent none
stages {
stage ('info') {
node {
my_shared_library {
myParam1 = "myValue1"
}
}
}
}
}
答案 0 :(得分:1)
要从管道中调用自定义步骤,请像这样调用它:
node {
my_shared_library(myParam1: "Jose"){
echo "hello"
}
}
要在上交地图的情况下对体内进行某些操作,您需要更改步骤:
def call(Map vars, Closure body=null) {
vars = vars ?: [:]
def myParameter = vars.get("myParam1",null)
if (body) { body(myParameter) }
stuff...
}
以及到此的管道:
node {
my_shared_library(myParam1: "Jose"){ param ->
echo "hello ${param}"
}
}