使用Chef的powershell_script提供程序,我应该如何引用存储在Chef服务器上的文件,而不是在同一文件中定义代码?基本上,我如何从Chef客户端调用位于服务器上的.ps1文件?
powershell_script
中调用未签名的PowerShell脚本。Chef在默认情况下允许此操作。powershell_script "run some script" do
code "c:/something/script.ps1"
end
如果你希望chef也部署这个脚本,你可以从cookbook的/files
部分使用cookbook_file
来实现。
code
的字符串拉入客户端。你可以从本地 cookbook 缓存中读取File.read("script.ps1")
。甚至可以使用Net::HTTP.get('example.com', 'script.ps1')
。 - Mattcommand
属性需要一个String, Array
作为参数。我不确定为什么我建议在本地文件中使用code
而不是command
。 - Matt