这是一个工作配方的示例,它遍历网站名称数组并使用函数 createIisWebsite() 在 IIS 中创建它们。
def createIisWebsite(websiteName)
iis_site websiteName do
protocol :http
port 80
path "#{node['iis']['docroot']}/#{websiteName}"
host_header "#{websiteName}.test.kermit.a-aws.co.uk"
action [:add,:start]
end
end
在我们的实际解决方案中,这些数据存储在其他地方并通过 Web API 访问。
websiteNames = ["website-2", "website-3", "website-4"]
for websiteName in websiteNames do
createIisWebsite websiteName
end
现在我希望能够从本食谱中的多个食谱中调用函数 createIisWebsite()。
我试过把它扔到一个辅助模块(库)中。在那里我无法获得对 iis_site 的引用。
我尝试将函数移动到default.rb
然后执行 include_recipe "::default"。这似乎也不起作用。
我收到“在 Windows 版本 6.2.9200 上找不到 createIisWebsite 的资源”
我采用这种方法的原因是因为我想要一个包含每个 Web 服务器集群的网站列表的配方。我觉得我没有采取最佳实践路线。
有任何想法吗?