Подтвердить что ты не робот

Поиск IP-адреса Jenkins node

Windows slave node подключен к серверу Jenkins через "Java web start". Системная информация node не имеет IP-адреса.

Мне пришлось пробегать все подчиненные node, и мы нашли, какой аппарат (ip-адрес) соответствует ведомому node в Jenkins.

Есть ли способ найти IP-адрес ведомого node от самого Дженкинса?

4b9b3361

Ответ 1

Через консоль Script (Управление Jenkins → Узлы → Выберите консоль node → Script) node мы можем выполнить groovy script. Выполните следующую команду, чтобы получить IP-адрес.

println InetAddress.localHost.canonicalHostName

Ответ 2

Чтобы ответить на тот же вопрос на не-оконном подчинении Jenkins:

Получить IP-адрес:

println "ifconfig".execute().text

Получить имя хоста:

println "hostname".execute().text

Ответ 3

Наиболее эффективный эффективный и независимый от платформы способ узнать IP, вероятно, следующий groovy код для "глобального" Script Консоль на главном:

import hudson.model.Computer.ListPossibleNames

def node = jenkins.model.Jenkins.instance.getNode( "myslave" )
println node.computer.getChannel().call(new ListPossibleNames())

В консоли это дает (например)

Result
[192.168.0.17]

Результатом является список строк, так как потенциально несколько IP-адресов на одной машине.

Поскольку для этого не требуются node -специфические консоли, легко добавить цикл вокруг кода, который охватывает все узлы.

Ответ 4

В вашем задании Jenkins, если оно находится в groovy или иначе эхо ifonfig sh "/sbin/ifconfig -a | grep inet"

Ответ 5

Чтобы получить ip на ведомом Windows:

Перейдите в консоль Script (Управление Jenkins → Узлы → Выберите консоль node → Script)

println "ipconfig".execute().text