我使用的是MSDeploy分段模型的一對夫婦我們網站的部署到Web農場包。這些站點僅在臨時框中的IIS中進行配置,然後使用MSDeploy從頭開始構建目標Web服務器。爲網站添加一個新的* * DestinationBinding使用MSDeploy
分期盒使用它自己的綁定(即無頭項,不同的IP /端口,沒有主機頭)的網站,將現場。當我部署他們,我必須首先用於製備參數化組件(使用-declareParamFile
開關)的XML文件,該文件聲明參數如下:
<parameters>
<parameter name="site1">
<parameterEntry kind="DestinationBinding" scope="Site1" match=":17000:" />
</parameter>
</parameters>
所以在上面的XML,你可以看到,上演網站託管在端口17000作爲match
屬性設置爲匹配具有該值的綁定。
當我再部署到每個現場直播,我用不同的參數,XML,指定該計算機的正確的主機頭和IP - 我該使用-setParamFile開關應用。這是其中一個例子。
<parameters>
<setParameter name="site1" value="[ip_addr]:[port]:[host_header]"/>
</parameters>
所以,因爲原來的參數聲明與已知綁定之一 - 我可以替換成什麼其實我想這是每一個活的服務器上的約束力。
我想現在要做的就是部署站點,並添加新目的地綁定它結合了,我們有不同的TLD - 即site.com,site.co.uk,site.ca等,都綁定在同一個IP地址和端口上。
爲希望這樣做的原因是:
- 我們有我們想部署將需要不同的主機名一個新的網站,但我們不想給它自己的IP地址(用盡IP)!但是讓它共享服務器上現有站點已有的IP。
- 這意味着添加特定主機名綁定上已有的網站時,而不是有它的任何主機名作出迴應。
- 我們有四個域名目前指向現有網站的負載均衡IP(.COM,頁面沒有自動跳轉,.ca和.com.au)。目前它的工作原理是因爲網絡服務器不關心主機頭 - 但是當新網站使用相同的IP時,它將會,而其他域名將不再起作用。
問題是我不認爲似乎有任何添加此類信息的方式。我已經嘗試在第二個XML中添加多個setParameter
元素,但這只是重複覆蓋綁定的效果,最後一個作爲最終獲勝者。
一個解決方案是爲我添加「佔位符」綁定爲每個站點在臨時框,代表目標外部綁定爲每個域名,端口等;然後我修改這兩個參數文件以將那些綁定替換爲真實的綁定。
但是對我來說這種感覺完全錯誤 - 那就是將舞臺箱模型化爲套裝的實況部署;它應該是相反的。
是否有可能實際上添加與MSDeploy的網站綁定(如果是這樣,怎麼樣?),還是它只支持替換?
我確實想過在ServerFault上詢問這個問題,但是我詢問的最後一個沒有得到任何活動,也沒有真正的答案。我認爲迄今爲止有更多的開發者使用msdeploy,所以我更有可能在這裏採取一些行動! – 2010-02-17 13:08:32