Передача идентификатора солевого миньона в конвейер Jenkins из плоского файла - PullRequest
0 голосов
/ 07 февраля 2020

Я ищу там несколько идей. У меня есть набор работ Дженкинса на конвейере. Имя целевой машины / миньона передается в качестве параметра в задание, и задания выполняются нормально. Меня попросили проехать через файл. .ie все идентификаторы миньонов или целевые машины перечислены в плоском файле, и я хочу, чтобы Дженкинс выбрал имена машин в l oop и выполнил конвейер. Конвейер запускает файлы состояния соли в фоновом режиме. Есть идеи, как этого добиться.

1 Ответ

0 голосов
/ 09 февраля 2020

Если у вас есть файл minions.txt, содержащий список миньонов, например,

minion_01
minion_02
minion_03

salt может указывать миньонов по списку при использовании опции -L / --list.

Вы можете вызвать, например, test.ping для этих миньонов с помощью следующей команды:

salt --list `awk -vORS=, '{ print $1 }' minions.txt | sed 's/,$/\n/'` test.ping

ORS - это разделитель выходных записей в awk, и вы просите awk напечатать строку файла: line, но выведите строки, используя , в качестве разделителя. sed удаляет последнюю запись.

Наконец, вы можете обернуть ее в Jenkins с помощью sh """ ... """

...