【问题标题】:Chef Template If Else如果其他厨师模板
【发布时间】:2018-03-16 07:18:15
【问题描述】:

我正在尝试使用 erb 与厨师一起动态更改创建 nginx xonfig 文件。 if else .erb 文件的正确语法是什么。

下面的代码给我一个错误

(erubis):17: 语法错误,意外的 tINTEGER,期待关键字_end

<% node['dd']['pipeline']['env'] -%>
resolver <%if node['dd']['pipeline']['env'] == "production" then 10.100.0.5 else 10.0.0.5 end -%> valid=30s;

【问题讨论】:

    标签: ruby chef-infra


    【解决方案1】:

    因为 10.100.0.5 不是有效的 Ruby 文字。你想要这个:

    <%= if node['dd']['pipeline']['env'] == "production" then "10.100.0.5" else "10.0.0.5" end %>
    

    【讨论】:

    • 谢谢。 node['dd']['pipeline']['env'] 在模板中似乎没有任何值。我错了我应该如何使用它。它肯定是在食谱中设置的。我可以将数据输出到 stout。 16-Mar-2018 11:51:37 amazon-ebs: env = dev
    • 你是怎么设置的?
    • 我在配方中使用 chef_gem 'java-properties' 来设置属性
    • 不确定你的意思,资源不会设置任何东西。
    • 不看代码很难说,但要么事情被以更高的优先级覆盖,要么在模板评估后被设置。
    猜你喜欢
    • 2016-10-27
    • 2014-05-29
    • 2015-03-20
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 2019-04-20
    相关资源
    最近更新 更多