gpt4 book ai didi

jenkins-pipeline - 如何使用 jenkins 管道共享库定义全局变量或常量?

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

虽然我能够定义方法,但到目前为止,使用 Jenkins 共享库定义变量似乎是一个 Unresolved 任务。

我加了 /vars/True.groovy用这个 body

def call() {
return true
}

现在在 Jenkinsfile 中,我尝试测试它是否按预期工作:
println "evaluation ${ true == True }"

但令人惊讶的是,这在它考虑时失败了 true != class True .我的印象是 true == True()可能有用,但这不是重点,我需要一个真正的变量,因为整个目的是为了避免人们使用错误案例造成的一些错误。

那么什么是魔术呢?

最佳答案

我找到了一种方法来实现这一点,但有一点需要注意:变量必须定义/包装在一个类中。然而,这确实有提供更好组织的好处,以免过多地污染全局空间。

例如,我们经常为构建状态重用四个标准的“魔法字符串”,我想将它们保存为全局常量以促进互操作性。所以我创建了一个全局 status类,定义于 vars/status.groovy :

class status {
final String STARTED = "STARTED"
final String SUCCESS = "SUCCESS"
final String FAILURE = "FAILURE"
final String ABORTED = "ABORTED"
}

然后可以通过引用它们的父类来使用这些常量:
echo status.STARTED
echo status.SUCCESS
echo status.FAILURE
echo status.ABORTED

特别感谢@mkobit 为我指明了正确的方向!

关于jenkins-pipeline - 如何使用 jenkins 管道共享库定义全局变量或常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47205761/

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