qaz*_*cde 12 jenkins-pipeline jenkins-shared-libraries
从使用共享库扩展 - 目录结构我创建了一个共享库,其中有多个 *.groovy 文件在 vars 文件夹中实现了全局变量。
我可以将子文件夹添加到 vars 以更好地组织我的文件吗?我试过了,在使用全局变量时没有运气。我需要使用特定的语法来引用子文件夹中的文件吗?或只是不支持子文件夹?
Ric*_*fer 14
不幸的是,不,你不能。有一个下降的改进要求在詹金斯的问题跟踪器。给定的原因是文件名直接映射到变量名。
evaluate(new File("../tools/Tools.groovy"))
Run Code Online (Sandbox Code Playgroud)
效果不佳,因为 Jenkins 全局变量文件不是本机 Groovy 代码而是经过处理的。
但是,您可以使用一些东西来更好地组织非自定义管道步骤的辅助函数。
我有一个includes.groovy包含不同功能的文件,例如
def doSomething() {
}
def doSomethingElse() {
}
Run Code Online (Sandbox Code Playgroud)
在一个customPipelineStep.groovy文件中,我可以访问它们
def call() {
includes.doSomethingElse()
}
Run Code Online (Sandbox Code Playgroud)
Soincludes以某种方式像命名空间一样工作,并且您可以拥有多个这样的实用程序文件。它们不是文件夹,而是帮助组织东西。
您也可以将它们组合在文件中,而不是在单个文件中定义自定义步骤,但是您必须将它们包装在管道中的脚本块中才能访问它们,如文档中所述。同样,包含函数在脚本块中也是公开可用的,因此请注意它们不是私有的。
| 归档时间: |
|
| 查看次数: |
3979 次 |
| 最近记录: |