使用管道共享库访问Jenkins实例

时间:2017-02-28 01:55:04

标签: jenkins shared-libraries jenkins-pipeline

我们非常喜欢使用管道中不支持的一些插件,并希望在我们的管道的共享库中实现它们的使用。其中一个主要项目是获取Jenkins Instance,有人可以分享一种方法吗?

  1. 在“src”或“vars”文件夹下是否有任何限制或正确方法来抓住Jenkins.getActiveInstance()
  2. 我试图在src代码下获取Jenkins.getActiveInstance()以及vars代码,但它返回null,我在这里遗漏了什么?任何帮助将不胜感激。

    谢谢

2 个答案:

答案 0 :(得分:2)

尝试'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 :(得分:0)

这张票可以关闭,几乎没有问题: 1.通过(管理Jenkins - >脚本批准)修复访问权限 2.某些脚本包含非cps代码