【问题标题】:Opsworks deployment doesn't have node[:deploy]Opsworks 部署没有节点[:deploy]
【发布时间】:2019-06-14 16:43:17
【问题描述】:

我的 opsworks 部署的节点没有 [:deploy] 对象 这是我的厨师脚本

if node[:deploy] === nil

    Chef::Log.info("No deployment..")
    node[:deploy].each do |app, deploy|
        Chef::Log.info("deploy -#{ app }-")
    end
elsif
    # never goes here
end

我在第 4 行遇到了这个错误

undefined method `each' for nil:NilClass (NoMethodError)

【问题讨论】:

    标签: docker chef-infra aws-opsworks


    【解决方案1】:

    首先,我建议你阅读What does the “===” operator do in Ruby?

    我感觉您打算使用==,而不是===。将您的三等号运算符更改为双等号运算符并试一试...

    如果你想让它更具可读性(取决于你的 ruby​​ 版本),你可以使用#nil?。改变

    if node[:deploy] === nil
    

    node[:deploy].nil?
    

    【讨论】:

      猜你喜欢
      • 2019-05-07
      • 2015-02-21
      • 1970-01-01
      • 2016-09-26
      • 2014-11-18
      • 1970-01-01
      • 1970-01-01
      • 2014-05-25
      • 2015-03-20
      相关资源
      最近更新 更多