对厨师来说很新...我们曾经从ppa repo安装elasticsearch但现在我想从头开始构建它(repo不再更新)每次我更改我的属性/默认值中的版本号.RB
现在我有一个bash块,只需拉下gz文件,解压缩并将其链接到正确的位置,但我不知道如何制作它以便每次运行大厨时它都不会运行 - 独奏。
有什么建议吗?
答案 0 :(得分:3)
我创建了一个内部版本的文本文件。逻辑很简单。
IO.read(filename)
检查)不同:解压缩。默认情况下,创建文件的资源为action :nothing
,并通过解压缩通知。这样,如果版本相同,不仅unzip也不会运行,但版本文件也不会受到影响。
用于说明逻辑的伪代码:
unzip "resource_name" do
not_if { ::File.exists?( filename ) and node[:version]==IO.read( filename ).strip }
notifies :create, "file[#{filename}]"
end
file filename do
action :nothing
content node[:version]
end