Chef infra 如何在chef中基于节点角色执行任务

Chef infra 如何在chef中基于节点角色执行任务,chef-infra,Chef Infra,我正在尝试执行receipe,以验证厨师长环境和角色: 配方示例: if (node.chef_environment == "dev" && node.role?('api')) bash "Restarting service" do code <<-EOF #Codeblock EOF end end if (node.chef_environment == "dev" && n

我正在尝试执行receipe,以验证厨师长环境和角色:

配方示例:

if (node.chef_environment == "dev" && node.role?('api'))

    bash "Restarting service" do
      code <<-EOF
            #Codeblock
      EOF
    end
end

if (node.chef_environment == "dev" && node.role?('web'))

    bash "Restarting service" do
      code <<-EOF
            #Codeblock
      EOF
    end
end
if(node.chef_环境==“dev”&&node.role?('api'))
bash“重新启动服务”吗

您应该解释的代码“不工作”。请提供更多详细信息,错误消息。请尝试
node[“roles”]。改为包含?(“api”)
。@coderanger的建议对我有效。