gpt4 book ai didi

jenkins - 如何从 Jenkins 管道中的函数返回 'allOf' 的值

转载 作者:行者123 更新时间:2023-12-04 14:23:31 25 4
gpt4 key购买 nike

我们有一个 Jenkins 管道设置,使用 Jenkinsfile 来定义不同构建需要完成的工作。

在我们的许多阶段中,当我们要发布时,我们有一些工作需要完成,但如果不打算完成发布,则可以跳过。

目前我们有这样的代码:

when {
allOf {
anyOf {
branch 'master';
branch 'develop';
}
expression {
return params.DBTESTS
}
}
}

在所有可以跳过的阶段重复。

我如何将它转换成一个函数,以便逻辑在一个地方类似于这样:

def isReleasePlanned() {
return allOf {
anyOf {
branch 'master';
branch 'develop';
}
expression {
return params.DBTESTS
}
}
}
}

然后像这样使用:

when {
isReleasePlanned()
}

在每个阶段。目前,当 Jenkins 尝试读取 Jenkinsfile 时,这是一个语法错误。

最佳答案

你可以尝试类似的东西

def isReleasePlanned(branch, params){
return branch ==~ "master|develop" && params.DBTESTS
}

pipeline {
...
stages {
...
stage("For release"){
when {
expression{ isReleasePlanned(GIT_BRANCH, params) }
}
}
}
...
}

或者从自定义库中导出函数。

关于jenkins - 如何从 Jenkins 管道中的函数返回 'allOf' 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50877686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com