Привет, я получил решение проблемы
control_nodes = sh (script: """
manish=\$(ansible control -i inventory --list-host |sort -t . -g -k1,1 -k2,2 -k3,3 -k4,4 |awk '{if(NR>1)print}' |awk '{\$1=\$1;print}') ; \
echo \$manish
""",returnStdout: true).trim()
echo "Cluster Control Nodes are : ${control_nodes}"
def (control_ip1,control_ip2,control_ip3) = control_nodes.split(' ')
//println c1 // this also works
echo "Control 1: ${control_ip1}"
echo "Control 2: ${control_ip2}"
echo "Control 3: ${control_ip3}"
Объяснение: В разделе сценария. Я получаю список имен хостов. Используя сортировку, я сортирую имя хоста на основе точечного (.) Разделителя. затем с помощью awk удаляем первую строку в выводе. Используя более позднюю версию awk, я удаляю начальные пробелы.
Использование returnStdout для сохранения вывода переменной оболочки в свойство jenkins, у которого список ips разделен пробелом. Теперь, когда у меня есть значения в переменной свойства jenkins, я извлекаю отдельные IP-адреса, используя методы split. Надеюсь, это поможет.