Передайте карту в ansible через игровую книгу Jenkins ansible - PullRequest
0 голосов
/ 15 ноября 2018

Как заставить плагин jenkin ansible-playbook передавать список строк так же, как в командной строке?

ansible-playbook ... \
-e '{"package_urls": ["http...windows.exe", "http...linux.rpm", "http...babbage.steam"]}' 

У Дженкинса в книге игр, кажется, есть карта для ExtraVars, и мои попытки побега еще не сработали

ansiblePlaybook (..., extraVars: [
   package_urls: """["http...windows.exe", "http...linux.rpm", "http...babbage.steam"]""" )

Результатом является следующее, в котором отсутствует 'и' и оно не распознается как список

... -e package_urls=["http...windows.exe", "http...linux.rpm", "http...babbage.steam"]

1 Ответ

0 голосов
/ 15 ноября 2018

Это работает в том смысле, что производит правильную командную строку. Плагин playbook имеет параметр extras , который можно использовать для передачи различного текста по командной строке. Я обычно использую это для модификации многословия '-vvv'.

ansiblePlaybook ( ..., 
    extras:  """-e '{"package_urls": ["http...windows.exe", "http...linux.rpm", "http...babbage.steam"]}'""")

Нужный текст передается в командную строку без изменений, и задание вытягивается из его списка.

Это, вероятно, не оптимальный подход, и заполнение файла var или файла json, считываемого книгой, выглядит как более чистый подход

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...