gpt4 book ai didi

Jenkins Pipeline 定义和设置变量

转载 作者:行者123 更新时间:2023-12-03 18:45:30 29 4
gpt4 key购买 nike

我正在使用分支名称将其传递到构建脚本中。 $(env.BRANCH_NAME)。

我想在使用它之前操纵它。例如,如果我们从主干构建,我希望构建输出的后缀为空,但在分支的情况下,我希望它是 -branch 名称。

目前我通过定义环境部分来做到这一点。

environment {
OUTPUT_NAME_SUFFIX = ($(env.BRANCH_NAME) == 'trunk') ? '': $(env.BRANCH_NAME)
}

我收到此错误:
WorkflowScript: 4: Environment variable values must either be single quoted, double quoted, or function calls. @ line 4, column 62.
(env.BRANCH_NAME) == 'trunk') ? '': $(en
^

在管道范围内定义变量并评估其值的最佳方法是什么。

TIA

最佳答案

您可以使用 string interpolation评估表达式:

environment {
OUTPUT_NAME_SUFFIX = "${env.BRANCH_NAME == 'trunk' ? '': env.BRANCH_NAME}"
}
这将修复您遇到的错误,但是管道不允许您拥有长度为 0 的环境变量,即空字符串( JENKINS-43632 )。
这意味着设置 OUTPUT_NAME_SUFFIX''就像取消设置一样。您可能希望预先计算输出的全名,以便您的 env 变量永远不会是空字符串。

关于Jenkins Pipeline 定义和设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52316089/

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