5

我有一个 web 服务器,它基本上接受 knife ec2 create server 命令的输入。

在我的刀命令中,我传入

-j '{"branch":"clone"}'

从文档中,我认为我可以在正在加载的食谱中执行此操作:

@@branch = node['branch']
...
git clone git@github.com/blah -b #{@@branch}

但是,git 克隆失败了,因为@@branch没有返回。或者至少厨师日志说开始输出结果:

git clone git@github.com/blah -b

~Git error showing options and appropriate input~

如何加载我传递的 JSON 属性?正确的方法是什么?

编辑:

我手动输入了刀命令,并且 JSON 属性似乎使用 Ruby 哈希而不是 JSON 加载

JSON Attributes: {"branch"=>"Air"}

最后编辑:

我的命令:

sudo knife ec2 server create -x ubuntu -i ~/.ssh/key.pem -I ami-0eca6e67 -d ubuntu-12.04 -j '{ "branch" : "clone" }' -Z us-east-1a -s subnet-6827ec00 -f c1.medium -g sg-bc9d86d0 -r 'role[role]'

下面回答。

4

1 回答 1

4

因此,如果我使用已经存在的引导模板-d ubuntu-12.04,knife ec2 似乎不会加载 -j json-attributes。

去掉 -d 选项。Json 正确加载。

于 2013-04-01T14:44:10.200 回答