我有一个包装器 json,如:

"builders": [{...}],
"provisioners": [
          {
                "type": "file",
                "source": "packer/myfile.json",
                "destination": "/tmp/myfile.json"
           }
  ],
"variables": {
        "myvariablename": "value"
 }

而 myfile.json 是:
{
   "var" : "{{ user `myvariablename`}}"
}

文件中的变量确实被替换了,在文件之后用 shell 配置器替换 sed 是这里唯一可用的选项吗?

使用包装器版本 0.12.0

最佳答案

您必须将这些作为环境变量传递。例如:

  "provisioners": [
    {
      "type": "shell"
      "environment_vars": [
        "http_proxy={{user `proxy`}}",
      ],
      "scripts": [
        "some_script.sh"
      ],
    }
  ],
  "variables": {
    "proxy": null
  }

在脚本中你可以使用 $http_proxy

关于packer - 如何在 Packer 中的文件配置器中使用用户变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44673408/

10-13 06:39