厨师食谱模板正则表达式匹配

Chef cookbook template REGEX to match

我有一个模板文件

#fileName: test.properties.erb
<% if @env == 'STAGING' && node['hostname'] =~ /^staging/ %>
somekey=node['hostname']
<% else %>
somekey=defaultNode
<% end %>

我的食谱如下

template ("test.properties") do
  source 'test.properties.erb'
  variables(
    env: "STAGING"
  )
end

我想与 REGEX 检查一起执行 && 操作

当我在 erb 文件中使用以下内容时,它与 &&

一起使用
<% if @env = 'STAGING' && node['hostname'].include?('staging-01') %>
...

我想应用正则表达式并检查主机名是否以字符串开头 staging 假设我有 staging-01staging-02 并同时申请

答案好像很简单Ruby字符串匹配表达式

所以我更改了表达式 node['hostname'].match(/staging*/) 并成功评估了食谱。

#fileName: test.properties.erb
<% if @env == 'STAGING' && node['hostname'].match(/staging*/) %>
somekey=node['hostname']
<% else %>
somekey=defaultNode
<% end %>