我是红宝石的新手,问题是如何在直到创建文件的大厨中执行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
答案 0 :(得分:1)
也许以詹金斯食谱为例:
如果有一个“block_until_operational”ruby块,它由其他资源中的notify动作触发,例如:
notifies :start, 'service[jenkins]', :immediately
notifies :create, 'ruby_block[block_until_operational]', :immediately