下面是一个简单的函数:
def openShiftInstall(char CLUSTER_URL, char TOKEN) {
sh '''
oc login --token='''TOKEN''' --server='''CLUSTER_URL'''
if helm history --max 1 $ARTIFACT_ID 2>/dev/null | grep FAILED | cut -f1 | grep -q 1; then
helm delete --purge $ARTIFACT_ID
fi
helm upgrade --install -f container-root/helm/values-devref.yaml --set image.version=$RELEASE_VERSION $ARTIFACT_ID container-root/helm --namespace ${NAMESPACE} --debug
'''
}
在这一阶段
environment {
NAMESPACE = 'test'
OC_a_DEV_TOKEN = 123
OC_b_DEV_TOKEN = 456
OC_a_DEV_CLUSTER_URL = 'https://api.ocp4-a.net:443'
OC_b_DEV_CLUSTER_URL = 'https://api.ocp4-b.net:443'
}
steps {
container('oc') {
script {
openShift.openShiftInstall("${OC_a_DEV_CLUSTER_URL}", "${OC_a_DEV_TOKEN}")
//openShift.openShiftInstall(${OC_b_DEV_CLUSTER_URL}, ${OC_b_DEV_TOKEN})
}
}
}
我得到这个错误:
java.lang.NoSuchMethodError: No such DSL method 'openShiftInstall' found among steps
有人能帮我弄明白我在这里做错了什么吗?
也许有一个更好的解决方案来循环通过多个集群安装不同的参数?现在我只是试图运行相同的函数两次,但即使是一个不工作的参数。
2条答案
按热度按时间w6lpcovy1#
您似乎在函数
openShiftInstall
中接受了一个Char
,但您传递的是一个字符串。请按如下所示更改方法签名。wgx48brx2#
我更改为下面的,它似乎现在工作。