如何解决在Jenkins共享库中使用多方法全局变量
在回购中考虑此常规文件,该回购文件在Jenkins中作为共享库加载:
/ vars
|
--- Utility.groovy
// Utility.groovy
def funcA() { ... }
def funcB() { ... }
在Jenkins文件中:
// Jenkinsfile
@Library('LibName') _
pipeline {
...
steps {
script {
def util = new Utility()
util.funcA()
}
}
}
这很好。但是,如果我尝试动态加载库:
// Jenkinsfile
pipeline {
...
steps {
script {
library 'LibName'
def util = new Utility()
}
}
}
那行不通...
有人可以针对文档中的这句话进行解释吗?
詹金斯共享图书馆的文档说:
解决方法
动态加载 Jenkins 共享库有一些限制和挑战,因为:
使用 src/ 目录中的类也是可能的,但更棘手。虽然@Library 注释在编译之前准备脚本的“类路径”,但在遇到库步骤时,脚本已经被编译。因此,您不能导入或以其他方式“静态地”引用库中的类型。 对此进行了说明 here
而且这个问题似乎有点类似于 this 一个。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。