使用管道的共享库访问Jenkins实例
我们非常喜欢使用一些在管道中不再受支持的插件,并且希望在管道的共享库中实现它们的使用。其中一个主要的项目是获得Jenkins实例,有人能分享一种方法吗使用管道的共享库访问Jenkins实例,jenkins,shared-libraries,jenkins-pipeline,Jenkins,Shared Libraries,Jenkins Pipeline,我们非常喜欢使用一些在管道中不再受支持的插件,并且希望在管道的共享库中实现它们的使用。其中一个主要的项目是获得Jenkins实例,有人能分享一种方法吗 在“src”或“vars”文件夹下获取Jenkins.getActiveInstance()是否有任何限制或适当的方法 我曾尝试在src代码和vars代码下获取Jenkins.getActiveInstance(),但它返回null,我是否遗漏了什么?任何帮助都将不胜感激 谢谢试试“Hudson.instance”。下面这个管道在Jenkins
Jenkins.getActiveInstance()
,但它返回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}"
}
}
}
}
}
}
Bill此票据可以关闭,但问题很少: 1.通过(管理Jenkins->脚本审批)修复访问权限
2.一些脚本包含非cps代码即使沙箱关闭,并且该代码在
@NonCPS
方法下运行,我仍然得到java.io.NotSerializableException:hudson.model.hudson
。结果是我需要对分配给hudson.instance
的变量进行def
声明。i、 例如,def foo=Hudson.instance
worksfoo=Hudson.instance
没有。