5

基本的にknife ec2 create serverコマンドの入力を受け入れるWebサーバーがあります。

私のナイフコマンドで、私は渡します

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

ドキュメントから、ロードされているレシピでこれを行うことができると思いました:

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

@@branchただし、返されないため、git クローンは失敗しています。または、少なくともシェフのログには、結果の出力が開始されると書かれています。

git clone git@github.com/blah -b

~Git error showing options and appropriate input~

渡された JSON 属性を読み込むにはどうすればよいですか? 正しい方法は何ですか?

編集:

手動でナイフ コマンドを入力すると、JSON 属性は JSON ではなく Ruby ハッシュを使用して読み込まれるようです

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 に答える