gpt4 book ai didi

windows - Jenkins 奴隶地点

转载 作者:可可西里 更新时间:2023-11-01 10:21:47 25 4
gpt4 key购买 nike

我们在windows环境下使用jenkins。在大约 20 台机器中——我会说每天至少有 3 台从服务因为未知原因而停止。我有一个监控系统,可以监视服务并重新启动,并做许多其他有用的事情——但到目前为止我还没有弄清楚如何知道要关心哪些机器上的哪些服务——本质上我正在使用 jenkins rest api 来获取从属列表 - 但不知何故我需要将它们翻译成机器名称......而且关键 - 我需要在它们未连接时执行此操作 - 因此在机器上运行诸如 print ip 之类的东西是没用。

我知道 jenkins 在某种程度上被设计成一个从服务器与服务器联系,所以从服务器可以在任何地方运行,但在我们的例子中,我们永远不会“移动”一个从服务器,我们只是创建另一个从服务器。我只是想知道是否有任何可访问的日志或历史记录或类似“我们最后一次从这个奴隶那里听到它是来自机器 X 作为服务名称 Y”的东西

假设 jenkins 当前无法联系从站,是否有可能以任何方式获取此信息?

最佳答案

这取决于您在从站配置中使用的连接方法,但 Jenkins 通常应该保留从站配置,即使从站离线也是如此。

此 URL 将为您提供所有奴隶名称及其在线状态的列表:

JENKINS_BASE_URL/computer/api/json?tree=computer[displayName,offline]

但是 REST API 不会向您显示主机名。下面是一些可以解决问题的 Groovy 代码:

hudson = Hudson.instance
for (slave in hudson.slaves) {
println "Slave name: ${slave.name} hostname: ${slave.launcher.host} online: ${slave.computer.online}"
}

这需要您拥有 Jenkins Groovy plugin安装。您可以通过多种方式执行脚本:

  1. 通过脚本控制台 (JENKINS_BASE_URL/script)
  2. 使用 Jenkins CLI“groovy”命令(参见 JENKINS_BASE_URL/cli)
  3. 通过 Jenkins 作业中的系统 Groovy 脚本构建步骤

对于选项 2 和 3,添加行

import hudson.model.*
import hudson.slaves.*

在脚本的顶部。

关于windows - Jenkins 奴隶地点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26984646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com