Chef ruby​​ block直到创建文件

时间:2013-10-23 09:04:50

标签: ruby chef

我是红宝石的新手,问题是如何在直到创建文件的大厨中执行ruby_block。?

我用其他ruby块启动了我的代码,比如..

ruby_block "block_until_not_operational" do
  block do
    10.times do
      if IO.popen("netstat -lnt").entries.select { |entry|
          entry.split[3] =~ /:#{node[:jboss][:default_port]}$/
        }.size == 0
        break
      end
      Chef::Log.debug("service[jenkins] still listening (port #{node[:jboss][:default_port]})")
      sleep 1
    end
  end
  action :nothing
end

1 个答案:

答案 0 :(得分:1)

也许以詹金斯食谱为例:

如果有一个“block_until_operational”ruby块,它由其他资源中的notify动作触发,例如:

  notifies :start, 'service[jenkins]', :immediately
  notifies :create, 'ruby_block[block_until_operational]', :immediately