我的测试是
厨师12.18.31
Ubuntu 16.04-AWS EC2-Opsworks堆栈
因此,如果我有一个序列如下的食谱:
Native_Chef_Resource do
Chef::Log.info("First")
My_First_Variable
end
My_Command do
my script based on My_First_Variable
end
My_Resource do
Chef::Log.info("Second")
My_Second_Variable
end
My_Other_Command do
my script based on My_Second_Variable
end
在这种怀疑之后,我试着用这些食谱和资源“通知”。
配方
test 'test notify' do
par_test 'primo test'
notifies :run, 'execute[bo]', :immediately
end
execute 'bo' do
command 'echo uname -a'
Chef::Log.info("execute bo")
end
资源
resource_name :test
property :par_test
default_action :create
action :create do
Chef::Log.info("#{par_test}")
end
我做了两个测试,一个是“立即”,另一个是“之前”。
结果:
立即测试
[2017-10-15T12:54:41+02:00]信息:执行bo
[2017-10-15T12:54:41+02:00]信息:处理测试[test notify]操作创建(部署::test\u notify line 1)
[2017-10-15T12:54:41+02:00]信息:primo测试
[2017-10-15T12:54:41+02:00]信息:处理执行[bo]操作运行(部署::test\u notify line 6)
[2017-10-15T12:54:41+02:00]信息:执行[bo]成功运行
在之前测试
[2017-10-15T13:16:31+02:00]信息:执行bo
[2017-10-15T13:16:31+02:00]信息:测试[测试通知]运行为什么在操作之前运行创建操作以支持
[2017-10-15T13:16:31+02:00]信息:处理测试[test notify]操作创建(部署::test\u notify line 1)
[2017-10-15T13:16:31+02:00]信息:primo测试
[2017-10-15T13:16:31+02:00]信息:处理测试[test notify]操作创建(部署::test\u notify line 1)
[2017-10-15T13:16:31+02:00]信息:primo测试
[2017-10-15T13:16:31+02:00]信息:处理执行[bo]操作运行(部署::test\u notify line 6)
[2017-10-15T13:16:31+02:00]信息:执行[bo]成功运行
你认为处决的顺序如何?
谢谢