gpt4 book ai didi

jenkins - Jenkinsfile when-branch 设置的模式评估是什么?

转载 作者:行者123 更新时间:2023-12-02 03:23:44 26 4
gpt4 key购买 nike

我正在尝试检测阶段内when语句的分支模式。

像这样:

stage('deploy to staging') {
agent label:'some-node'
when { branch "feature/*" }
steps {
sh './deploy_pr.sh'
}

}

如果我想要更复杂的模式怎么办?

我正在尝试检测类似 feature/0.10.25 的内容,但以下模式不起作用:

when { branch 'feature/[0-9]+.[0-9]+.[0-9]+' }

不起作用。根据https://regexr.com/,这是一个正确的正则表达式。

最佳答案

好的!因此,通过错误堆栈跟踪,我发现在 when-branch 选项上,Jenkins 与 Ant 风格模式进行了比较: https://ant.apache.org/manual/dirtasks.html

这意味着它不需要正则表达式,而是更简单的东西,例如:

        */staging/*

我通过使用when-表达式选项解决了这个问题,如下所示:

        when { 
expression { BRANCH_NAME ==~ /feature\/[0-9]+\.[0-9]+\.[0-9]+/ }
}

使用常规表达式,如下所述:

https://www.regular-expressions.info/groovy.html

特别是,查找 ==~ 运算符的解释,这很有帮助。

对于正则表达式本身,您可以在这里测试您的:

https://regexr.com/

关于jenkins - Jenkinsfile when-branch 设置的模式评估是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52608104/

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