大厨,如何设置不同属性的多个相同值?

Chef, how to set the multiple same values with different attributes?

在一个本地节点中,使用 chef-solo。我想要设置 3 值 "server",但只设置最后一个值。请指教,如何设置所有值? 我想在 settings.xml 中实现这个结果:

<servers> 
  <server> 
    <id>server1</id> 
    <username>user1</username>
     <password>pass1</password>
  </server> 
  <server>
     <id>server2</id>
     <username>user2</username>
     <password>pass2</password>
  </server> 
  <server>
     <id>server3</id> 
     <username>user3</username>
     <password>pass3</password>
  </server>
</servers>

这是我的食谱:

chef_gem 'nori' do
  action :install
end

chef_gem 'gyoku' do
  action :install
end

include_recipe "maven"
node.default['maven']['version'] = "3.3.3"

maven_settings "settings.servers" do
  value "server" => {
    "id" => "server1",
    "username" => "user1",
    "password" => "pass1"
  }
end

maven_settings "settings.servers" do
  value "server" => {
    "id" => "server2",
    "username" => "user2",
    "password" => "pass2"
  }
end

maven_settings "settings.servers" do
  value "server" => {
    "id" => "server3",
    "username" => "user3",
    "password" => "pass3"
  }
end

谢谢各位指教!

看起来你只需要编辑 servers xml 属性,所以根据 maven cookbook README,语法应该是这样的:

maven_settings "settings" do
    value "servers" => {
      "server1" => {
        "id" => "server1",
        "username" => "user1",
        "password" => "pass1"
      },
      "server2" => {
        "id" => "server2",
        "username" => "user2",
        "password" => "pass2"
      },
      "server3" => {
        "id" => "server3",
        "username" => "user3",
        "password" => "pass3"
      }   
}
end