如何让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"]""" )
导致以下缺少"one_answers"且未被识别为列表
... -e package_urls=["http...windows.exe", "http...linux.rpm", "http...babbage.steam"]
这样可以产生正确的命令行。playbook插件有一个额外的参数,可用于在命令行中传递各种文本。我通常将其用于"-vvv"详细程度的修改。
ansiblePlaybook ( ...,
extras: """-e '{"package_urls": ["http...windows.exe", "http...linux.rpm", "http...babbage.steam"]}'""")
所需的文本在不做任何修改的情况下传递到命令行,并且作业会拉入其列表。
这可能不是最佳方法,填充var文件或由剧本读取的json文件感觉像是一种更干净的方法