如何从groovy获取Jenkins节点配置

oxcyiej7  于 4个月前  发布在  Jenkins
关注(0)|答案(1)|浏览(64)

我想在作业中使用groovy脚本来读取Jenkins GUI中的Node configuration中查看的所有节点配置。我知道可以使用REST API来获取节点配置,但我想知道如何使用可用的库方法来完成此操作,例如从系统Groovy脚本。
如果launch method设置为SSH,我设想类似于以下伪代码的东西来打印在“Launch method”设置中配置的Host:

jenkins.getNodes().each { node ->
    println(node.getLaunchMethod().getHost())
}

字符串
Accessing Jenkins global property in Groovy的答案似乎是相关的?

xghobddn

xghobddn1#

我认为你应该使用专门的工具来完成这样的任务,在我看来就是JenkinsCli。只要在你的Jenkins示例中导航到这个URL:http://your_jenkins_instance:8080/cli/command/get-node当你使用这个选项运行CLI时,你可以得到描述你的节点的XML,这样你就可以用你需要的方式来解析它。
为了将其以某种方式 Package 到管道中,我建议创建这样的步骤:

  • 将CLI导入您的工作区:sh "curl -O http://localhost:8080/jnlpJars/jenkins-cli.jar"
  • 在工作区中运行CLI:sh 'java -jar jenkins-cli.jar -s http://localhost:8080/ -auth user:pass -webSocket get-node Test1'

当然,user:pass应该来自Jenkins secrets。无论如何,我不鼓励使用库进行黑客攻击(批准允许特定代码危及安全性),而是使用这个工具,为此目的配置特定用户并通过secrets访问它。

相关问题