【问题标题】:How to override Attributes in packer chef solo provisioner如何覆盖打包厨师单独供应商中的属性
【发布时间】:2016-05-27 09:56:14
【问题描述】:

我的打包机代码包含打包机主厨单独供应商

{

  "type": "chef-solo",
  "cookbook_paths": ["chef/cookbooks/vendor"],
  "run_list": ["recipe[cicada-jenkins-cookbook::default]","recipe[cicada-jenkins-cookbook::support_tools]","recipe[cicada-jenkins-cookbook::cft_seed_dsl]","recipe[cicada-jenkins-cookbook::terraform_seed_dsl]"]

}

在这里我需要覆盖属性如何在打包器中传递它们

【问题讨论】:

    标签: chef-solo packer hashicorp-otto


    【解决方案1】:
    {
        "type": "chef-solo",
        "cookbook_paths": ["chef/cookbooks/vendor"],
        "roles_path": "chef/roles",
        "json": {
              "jenkins": {
                "master": {
                  "port": 8080
                },
                "executor": {
                  "timeout": 300
                }
              },
              "jenkins-cookbook": {
                "admin_user": "uname",
                "admin_pass": "pwd"
              }
        },
        "run_list":["role[jenkins]"]
    }
    
    • 根据打包器文档,我们可以以 json 的形式传递节点属性

    【讨论】:

      【解决方案2】:

      与其覆盖 Packer“json”属性中的值,不如尝试在 Chef 角色中定义属性覆盖。然后只需使用“roles_path”指向本地磁盘上角色目录的位置。

      "provisioners":
      [
        { 
          "type": "chef-solo",
          "cookbook_paths": ["cookbooks"],
          "roles_path": "cookbooks/dev-boxes/roles",
          "run_list": [
            "role[java]",
            "role[sbt]",
            "recipe[dev-boxes::recipe1]",
            "recipe[dev-boxes::recipe2]"
          ]
        }
      ],
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-20
        • 1970-01-01
        • 1970-01-01
        • 2017-08-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多