gpt4 book ai didi

jenkins-pipeline - 共享库 "vars"文件夹结构 - 我可以添加子文件夹吗?

转载 作者:行者123 更新时间:2023-12-03 15:39:18 24 4
gpt4 key购买 nike

来自 Extending with Shared Libraries - Directory structure我创建了一个共享库,其中有多个 *.groovy 文件在 vars 文件夹中实现全局变量。

我可以将子文件夹添加到 vars 以更好地组织我的文件吗?我试过了,在使用全局变量时没有运气。我需要使用特定语法来引用子文件夹中的文件吗?还是不支持子文件夹?

最佳答案

不幸的是,不,你不能。有一个declined improvement request在 Jenkins 的问题跟踪器上。给定的原因是文件名直接映射到变量名。

Other approaches Groovy 中的典型

evaluate(new File("../tools/Tools.groovy"))

不能很好地工作,因为 Jenkins 全局变量文件不是 native Groovy 代码,而是经过处理的。

但是,您可以使用一些东西来更好地组织那些不是 custom pipeline steps 的辅助函数。 .

我有一个 includes.groovy包含不同功能的文件,例如
def doSomething() {
}

def doSomethingElse() {
}

customPipelineStep.groovy文件然后我可以访问它们
def call() {
includes.doSomethingElse()
}

所以 includes以某种方式像命名空间一样工作,您可以拥有多个这样的实用程序文件。它们不是文件夹,但有助于组织东西。

除了在单个文件中定义自定义步骤之外,您还可以将它们组合在文件中,但是您必须将它们包装在管道中的脚本 block 中才能访问它们,正如 in the documentation 所指出的那样.同样,包含函数也在脚本 block 中公开可用,因此请注意它们不是私有(private)的。

关于jenkins-pipeline - 共享库 "vars"文件夹结构 - 我可以添加子文件夹吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56078606/

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