访问Jenkins实例和管道的共享库
问题描述:
我们非常喜欢使用管道中不支持的一些插件,并希望在管道的共享库中实现它们的用法。为此需要的主要项目之一是获得Jenkins实例,有人可以分享一种方法来做到这一点?访问Jenkins实例和管道的共享库
- 是否有任何限制或适当的方式来获得下“SRC”或
Jenkins.getActiveInstance()
保持“乏”文件夹?
我试过在src代码下得到Jenkins.getActiveInstance()
以及vars代码,但它返回null,我在这里丢失了什么吗?任何帮助将不胜感激。
感谢
答
尝试 'Hudson.instance'。下面这条管道适用于Jenkins 2.32.x.您可能必须执行一些脚本审批或关闭沙箱。
pipeline {
agent none
stages{
stage('Instance Info') {
steps {
script {
def jenkinsInstance = Hudson.instance
for (slave in jenkinsInstance.slaves) {
echo "Slave: ${slave.computer.name}"
}
}
}
}
}
}
比尔
答
这张票可以被关闭,有几个问题: 1.修正通过(管理詹金斯 - >在脚本审批)访问 2.一些脚本包含非CPS代码
即使关闭了沙盒,并且该代码在'@ NonCPS'方法下运行,我仍然得到了'java.io.NotSerializableException:hudson.model.Hudson'。 – jayhendren
结果我需要一个'def'声明我分配给'Hudson.instance'的变量。即'def foo = Hudson.instance'起作用; 'foo = Hudson.instance'不。 – jayhendren