假设我已经配置了一个 Jenkins 作业,它可以在几个 Jenkins 从属节点(例如 Node1、Node2、Node3 等)上运行。当构建开始时,Jenkins 将选择一个可用的 Jenkins Slave 来运行构建。
对于已完成或当前正在运行的构建,如何以编程方式确定哪个 Jenkins 从节点已用于运行构建?
最佳答案
您可以使用Jenkins REST API假设您知道构建号,则查询现有构建:
http://jenkins:8080/job/JOB_NAME/100/api/json?pretty=true
builtOn
字段显示正在运行/运行构建的从属设备的名称。
要仅检索 JSON 构建信息的几个字段,请使用 tree
参数:
http://jenkins:8080/job/JOB_NAME/100/api/json?tree=id,timestamp,builtOn&pretty=true
这将返回类似以下内容:
{
"id" : "2014-12-01_06-18-17",
"timestamp" : 1417443497917,
"builtOn" : "sdev05"
}
Jenkins UI 中的大多数页面底部都有一个 REST API 链接,表明它们公开可以通过编程方式查询的信息。
关于jenkins - 如何以编程方式确定哪个 Jenkins 从节点已用于运行构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27207458/