Ich baue eine VirtualBox VM mit Packer und ich würde einige VM-Metadaten (z. B. Beschreibung, Version) mit dem export_opts
-Parameter festlegen. Die docs sagenWie Packer export_opts verwenden?
export_opts (Array von Zeichenfolgen) - Zusätzliche Optionen zum VBoxManage-Export übergeben. Dies kann nützlich sein, um Produktinformationen an die resultierende Appliance-Datei zu übergeben.
Ich versuche, dies in einem Bash-Skript aufrufen Packer zu tun:
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>
Ich habe auch versucht --version
statt version
und version
und den Wert in die gleiche Zeichenfolge setzen, aber nichts davon funktioniert; Sobald sie exportiert und erneut importiert wurde, ist die VM-Beschreibung leer.
Hat jemand einen funktionierenden Beispielcode oder kann mir helfen, was ich falsch mache?
Vielen Dank.
Update:
Anthony Staunton's approach Folgen, habe ich herausgefunden, dass das Hinzufügen
"export_opts": [ "--vsys", "0", "--version", "0.2.0", "--description", "some test description" ],
zum Packer JSON-Datei funktioniert; Übergabe der gleichen Zeichenfolge wie --var
an Packer funktioniert nicht.
, das funktioniert, wenn die Syntax festgelegt ist, funktioniert nicht mit ein Packer '--var' obwohl; Siehe mein Update – ssc