我正在寻找关于在openshift上Jenkins管道下面使用的函数的解释。
node {
stage('build') {
openshift.withCluster() {
openshift.withProject() {
echo "Using project: ${openshift.project()}"
def builds = openshift.selector("bc", "front-end-build").related('builds')
builds.describe()
timeout(5) {
1. builds.untilEach(1) {
2. it.describe()
3. echo "Inside loop: ${it}"
4. return (it.object().status.phase == "Complete")
}
}
}
}
}
}发布于 2021-02-02 10:59:52
我将试着概述一下你提到的这些台词的含义:
timeout(5) --这意味着本部分中描述的步骤(在{}之间)需要在5分钟内完成,否则它们将被终止。如果以下任何操作超过5分钟,则此步骤将失败。builds.untilEach(1)遍历与上面的选择器openshift.selector("bc", "front-end-build")相关的所有构建。此循环要求至少返回一个构建。它循环遍历构建并等待闭包体(在{}之间)返回“true”。it.describe()描述当前正在循环/等待的构建对象.echo "Inside loop: ${it}"将构建对象写入stdout.。
return (it.object().status.phase == "Complete")检查我们正在循环的构建是否完成并返回.因此,基本上,这个循环将等待与BuildConfig front-end-build相关的所有构建完成。
https://stackoverflow.com/questions/65993796
复制相似问题