2014-10-28 185 views
0

與IIS食譜合作,建立共享的配置目錄廚師IIS默認食譜資源

iisconfigsettings.rb

... 

default['iis']['conf_dir'] = "#{iis['home']}d:\\configuration" 
... 

這應該更改配置目錄到d:\配置。

廚師運行後,我得到致命錯誤:ArgumentError:聲明默認資源時必須提供一個名稱。

我不知道這裏應該指定名字。根據廚師的文件,這不是太具體,我相信我有這裏適合的參數。 https://github.com/opscode-cookbooks/iis

任何人都有設置經驗嗎?

+0

什麼是'iisconfigsettings.rb'?它是一個配方,屬性文件,別的東西嗎? – 2014-10-28 16:43:30

+0

這是我的WebServerBuild食譜中的一個配方。 – challenge2010 2014-10-28 17:04:38

回答

1

我認爲你的問題是你在配方上下文中調用default方法。這似乎是在嘗試創建類型爲default的資源,並且很生氣,您沒有給該資源命名。坦率地說,我有點困惑究竟發生了什麼事沒有,或者你有與default類型的資源,但幸運的是,解決方法很簡單:

iisconfigsettings.rb

... 
node.default['iis']['conf_dir'] = "#{iis['home']}d:\\configuration" 
... 

請注意,我在default之前添加了node.

此外,我不確定你在"#{iis['home']}d:\\configuration"之後。這不僅僅會給你d:\configuration,它會預先申請iis['home']解決。

+0

這可能是我對如何使用屬性的無知。添加node.default導致FATAL:NameError:'Chef :: Recipe「iisconfigsettings沒有名爲'iis'的資源,方法或局部變量。我希望能夠使用iis食譜中的節點['iis'] ['conf_dir']屬性來設置redirection.config文件的共享配置。我已經使用了大部分iis資源,但我不知道如何在這裏使用屬性。 – challenge2010 2014-10-29 12:44:39

+0

它看起來正確的用法是:node.default.iis.conf_dr =「d:\ configuration」,它試圖利用appcmd.exe來設置配置。但是,在運行iis cookbook使用appcmd.exe來設置這些配置更改後,我不相信它適用於屬性conf_dir。這實際上需要修改的設置是在redirection.config中,並且據我所知,appcmd.exe不會觸及該文件中的任何部分。 – challenge2010 2014-10-29 14:44:08

+1

'NameErrro'來自''#{iss ['home']}',因爲在這一點上你沒有任何叫'iis'的節點,'node.default ...'是正確的。 – 2014-10-29 16:26:36