我正在尝试从位于从共享库 Jenkins 类调用的 vars 下的 groovy 脚本获取信息,但出现错误。一些信息:
需要- 全局配置文件。类似于管理 Jenkins -> 配置系统 -> 环境变量
目标- 能够在共享库中获取全局值,而无需从 Jenkinsfile 发送参数。
- 我的解决方案- 我尝试使用适用于 Jenkinsfile 但不适用于共享库的“vars/script.groovy”。
文件结构
.
├── src
│ └── org
│ └── jenkins
│ └──shared_library.groovy
│── vars
│ └── globals.groovy
│
│── jenkinsfile.groovy
变量/globals.groovy
def my_global() {
return 'my_global_name'
}
shared_library 类
package src.org.jenkins
class shared_library implements Serializable {
private steps
shared_library(steps) {
this.steps = steps
}
def some_func(){
println globals.my_global
}
詹金斯文件
@Library 'shared_library'
import org.jenkins.shared_library
my_shared_library = new shared_library(steps)
node(){
stage('my_first_stage'){
println globals.my_global
}
stage('my_second_stage'){
println shared_library.some_func()
}
}
所以,我可以看到管道中第一个打印的值,但第二个我得到:
没有这样的属性:类的全局变量:src.org.jenkins.shared_library