厨师 iis 食谱确实更改了站点设置
chef iis cookbook does change site settings
我可以这样做来创建一个以前不存在的新站点:
iis_site MySite do
site_name MySite
application_pool MySite
protocol :https
port 443
path "C:/inetpub/MySite"
log_directory "C:/inetpub/mylogfolder"
log_truncsize 52428800
action [:add,:start]
end
这将使用这些设置创建一个新网站,但如果该网站已经存在,则不会更改任何这些设置。
所以假设我 运行 它一次,它创建了一个具有上述设置的网站。如果我编辑食谱来做到这一点:
iis_site MySite do
site_name MySite
application_pool MySite
protocol :http
port 80
path "C:/inetpub/MySite"
log_directory "C:/inetpub/MySite/different/folder/path"
log_truncsize 52428800
action [:add,:start]
end
它不会对当前站点进行任何更改。这是为这本食谱设计的吗?似乎它只对部署新站点有用,其他几乎没有用。
我对IIS知之甚少,但你可以在这里找到相关代码https://github.com/chef-cookbooks/iis/blob/master/providers/site.rb#L131-L226
它确实看起来像是在尝试对 log_directory
进行幂等应用更改,但可能在逻辑或它用于 get/set 站点数据的命令中存在缺陷。
我可以这样做来创建一个以前不存在的新站点:
iis_site MySite do
site_name MySite
application_pool MySite
protocol :https
port 443
path "C:/inetpub/MySite"
log_directory "C:/inetpub/mylogfolder"
log_truncsize 52428800
action [:add,:start]
end
这将使用这些设置创建一个新网站,但如果该网站已经存在,则不会更改任何这些设置。
所以假设我 运行 它一次,它创建了一个具有上述设置的网站。如果我编辑食谱来做到这一点:
iis_site MySite do
site_name MySite
application_pool MySite
protocol :http
port 80
path "C:/inetpub/MySite"
log_directory "C:/inetpub/MySite/different/folder/path"
log_truncsize 52428800
action [:add,:start]
end
它不会对当前站点进行任何更改。这是为这本食谱设计的吗?似乎它只对部署新站点有用,其他几乎没有用。
我对IIS知之甚少,但你可以在这里找到相关代码https://github.com/chef-cookbooks/iis/blob/master/providers/site.rb#L131-L226
它确实看起来像是在尝试对 log_directory
进行幂等应用更改,但可能在逻辑或它用于 get/set 站点数据的命令中存在缺陷。