我使用Packer構建一個VirtualBox虛擬機,我想使用export_opts
參數設置一些虛擬機元數據(例如描述,版本)。 docs說如何使用packer export_opts?
export_opts(字符串數組) - 傳遞給VBoxManage導出的其他選項。這對傳遞產品信息以包含在生成的設備文件中很有用。
我試圖做到這一點在bash腳本中調用打包機:
desc=' ... some ...'
desc+=' ... multiline ...'
desc+=' ... description ...'
# this is actually done using printf, shortened for clarity
export_opts='[ "version", "0.2.0", "description", "${desc}" ]'
# the assembled string looks OK
echo "export_opts: ${export_opts}"
packer build \
... (more options) ...
-var "export_opts=${export_opts}" \
... (more options) ...
<packer configuration file>
我也試過--version
代替version
並把version
和值到相同的字符串,但沒有這個工程;一旦導出並重新導入,虛擬機描述是空的。
有沒有人有一些工作示例代碼或可以幫助我與我做錯了什麼?
非常感謝。
更新:
繼Anthony Staunton's approach,我想通了,加入
"export_opts": [ "--vsys", "0", "--version", "0.2.0", "--description", "some test description" ],
封隔器JSON文件不工作;將與--var
相同的字符串傳遞給Packer不起作用。
一旦語法固定的工作,不使用工作一個Packer'--var'雖然;看到我的更新 – ssc