首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Packer.io ISO_URL作为命令行参数传递

如何将Packer.io ISO_URL作为命令行参数传递
EN

Stack Overflow用户
提问于 2017-01-26 06:03:37
回答 1查看 2K关注 0票数 3

我想将ISO_URL作为命令行参数进行传递。我试着效仿https://www.packer.io/docs/templates/user-variables.html的一个例子

我的变量部分看起来像

代码语言:javascript
复制
"variables": {
    "build_version": "1.0.0",
    "iso_checksum_type":"md5", 
    "iso_checksum":"453312bf56fc45669fec5ebc0f025ac7",
    "iso_url":"c:\fake.iso"
}

变量引用

代码语言:javascript
复制
   ...
  "iso_checksum": "{{user `iso_checksum`}}",
  "iso_checksum_type":"{{user `iso_checksum_type`}}",
  "iso_url": "{{user `iso_url`}}",
  ...

而build命令是

代码语言:javascript
复制
packer build -var 'iso_url=c:\debian.iso' packerio.json

但是,iso_url未被覆盖,打包程序正在尝试下载fake.iso

为什么?

确切的结果是

代码语言:javascript
复制
virtualbox-iso output will be in this color.

==> virtualbox-iso: Downloading or copying Guest additions
virtualbox-iso: Downloading or copying: file:///C:/Program%20Files/Oracle/VirtualBox/VBoxGuestAdditions.iso
==> virtualbox-iso: Downloading or copying ISO
virtualbox-iso: Downloading or copying: file:///c:/fake.iso
virtualbox-iso: Error downloading: GetFileAttributesEx c:/fake.iso: The system cannot find the file specified.
==> virtualbox-iso: ISO download failed.
Build 'virtualbox-iso' errored: ISO download failed.

==> Some builds didn't complete successfully and had errors:
--> virtualbox-iso: ISO download failed.

==> Builds finished but no artifacts were created.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-26 23:48:36

解决方案是将单引号替换为双引号或省略引号。

代码语言:javascript
复制
packer build -var "iso_url=c:\debian.iso" packerio.json

代码语言:javascript
复制
packer build -var iso_url=c:\debian.iso packerio.json

此外,相对路径也适用

代码语言:javascript
复制
packer build -var iso_url=\subfolder_name\debian.iso packerio.json

感谢@RickardvonEssen为我指明了正确的方向。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41862494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档